分类 安卓 下的文章

ss在安卓上提示的问题[无法连接远程服务器:未知插件kcptun]

后台服务启动失败:无法连接远程服务器:未知插件kcptun

我已经解决了,我用的是努比亚的手机,需要在手机管家->权限管理->自启动管理中将kcptun设置为允许启动。,华为手机貌似也有类似的问题。需要设置

详见:https://github.com/shadowsocks/kcptun-android/issues/30#issuecomment-368210748

Vuforia for Unity 添加按钮实现模型放大缩小

具体是将脚本附加到预制件prefab上。

做法如下

将Vuforia for unity 导入到Unity中后,定位到Vuforia提供的预设预制件上。

有如下的预制件:ARCamera、CloudRecognition、CylinderTarget、FrameMarker、ImageTarget、Multitarget、ObjectTarget、TextRecognition、UserDefinedTarget、VirtualButton、Word。

我们这里以ImageTarget预制件来做例子

在Assets中添加一个C#脚本(C# Script),取名为BtnControl,脚本代码下面附加上。

解释下我这个脚本,我这个脚本通过调用GUI.Button()方法,在屏幕上绘制按钮,点击按钮后,可以对模型进行放大以及缩小,脚本写的很粗糙。见谅。

点击预制件ImageTarget,然后在右侧的Inspector上点击Add Component

输入脚本名:BtnControl(注:当你输入的时候,应该会自动联想到这个文件),之后回车

然后就可以开始将预制件拖到Hierarchy上开始使用吧。
BtnControl.cs脚本代码如下

using UnityEngine;
using System.Collections;

public class BtnControl: MonoBehaviour {

    void OnGUI() {
        
        if (GUI.Button(new Rect(10, 50, 200, 50), "放大"))
        {
            Vector3 v3 = transform.localScale;

            transform.localScale = new Vector3(v3.x*1.2f, v3.y*1.2f, v3.z*1.2f);
        }
        if (GUI.Button(new Rect(10, 120, 200, 50), "缩小"))
        {
            Vector3 v3 = transform.localScale;
            transform.localScale = new Vector3(v3.x/1.2f,v3.y/1.2f,v3.z/1.2f);
        }
       
    }
}

Android sdk content loader 进度条0%解决办法

最近在用eclipse的时候,发现打开eclipse后,载入android sdk失败,用eclipse -clean也没效果,果断google寻找其他方案。果然被我找到一个靠谱的。

stackoverflow网站上的小伙伴遇到的问题跟我差不多,只不过人家是用osx系统我是windows,效果是一样的,参看下面的解决办法:

- 阅读剩余部分 -

ARToolKit professional for Android 程序开发以及Tips的介绍

译文

本人主要使用Google翻译之后的结果,同时参照了多个翻译软件翻译出来,如有不对,请多指教。

ARToolKit professional for Android

About

ARToolKit 是在增强现实应用程序开发中使用最广泛的支持库。目前(如2013年),已经被移植在手机上......最重要的是能够在各种硬件和软件平台的智能手机上运行。

这里描述的内容是 ARToolKit 专业版本,包括了ARToolKit for Mobile。Android NDK 进行核心处理,Android SDK 进行简单实现,另外,应用并选择Android NDK的执行。另外,Android 的开发,需要学的知识也有Android NDK,Android SDK,这些都请通过各种书籍进行学习。

此外,ARToolKit for Mobile 需要可以购买一个许可。

除了这个许可,对于ARToolkit协会推荐您购买一本书《3Dキャラクターが現実世界に誕生! ARToolKit拡張現実感プログラミング入門(amazon)》用于GPL解答。

这里所描述的内容旨在组装应用。因此,实际上做什么,一些理论术语,出现的变量(矩阵)并没有过多的提及,作为这个补充的话,上面的书籍可能会帮助到您。

在其他方面,建议购买安卓开发的书籍,比如涉及到Android NDK的书籍,推荐这个《Android NDKネイティブプログラミング(amazon)》。

此外,你开始这方面的开发,需要了解相机、使用一个OpenGL ES样本等。否则会遇到一些问题,不知道从何开始。

- 阅读剩余部分 -

Android Studio 无法修改JDK路径

今天坑爹了,安装完Android Studio 后,默认jdk路径指向了我电脑d盘下的jdk1.5,(我使用1.7的。)
之后进入File-->Other Settings-->Default Project Structure 将JDK location修改为我要的JDK后,保存,再次打开,还是1.5。也就是路径修改失败!我就纳闷了,这东西还有修改失败的啊?
各种百度谷歌无果。
只好自己摸索。
于是,我开始摸索了





- 阅读剩余部分 -

安卓数据持久化存储

数据存储是Android上非常重要的功能,各个应用存储的数据或文件是私有的,在默认情况下,只有该应用本身能够访问其存储的数据资源。Android向开发者提供的存储方式有文件、SharePreference、SQLite数据库和Content Provider 4种类型。

1.文件存储

Android采用Java.io.*库来提供输入/输出接口,所有文件都是以流为基础进行读/写的
Context 类 的openFileOutput(String name,int mode)方法用来创建一个文件的输出流(FileOutputStream)对象,当创建失败时会抛出FileNotFoundException异常。参数name 表示文件的名字,并且不能含有路径信息。当文件不存在时,该文件将被创建,文件存储在默认的/data/data/<包名>/files/目录下。参数mode表示文件打开或创建的方式。mode 的取值有如下几种。

    • MODE_PRIVATE:表示该文件只能被本应用访问。
    • MODE_APPEND:表示新的内容会添加在原文件内容的后面。

      • MODE_WORLD_WRITABLE:表示该文件能被所有应用写入。
      • MODE_WORLD_READABLE:表示该文件能被所有应用读取。

    如果想在一个应用特定的文件夹下创建文件,可以使用File类的构造函数File(String path),参数path表示新创建文件的路径。在获得文件后,可以用FileOutputStream来封装File,创建文件输出流,当创建失败时会抛出FileNotFoundException异常。

    FileOutputStream类的write(byte[] buffer)方法将把buffer的数据写入输出流中,完成文件存储操作。需要注意的是,对输入/输出流操作结束后,应该要将其关闭,以便释放宝贵的I/O资源!