标签为 "android" 的存档

天猫魔盒无需root更换输入法

平时都是电脑操作习惯了,最近一段时间用天猫魔盒看看视频、上上网等,发现输入法很难用,键位的布局不是按照电脑键盘来的,而是按字母顺序,找个字母很别扭。当然我们是理解天猫这样是有它特殊的考虑的。既然原生的不好用,那我们就自己安装一个吧。

先说明一下,这里是在天猫魔盒上外接无线鼠标配合遥控器使用的(无线键鼠组合也是可以的),如果只有遥控器的话还是不要更换输入法的好,因为自己安装的这些第三方输入法是没有针对魔盒做适配的,遥控器不一定能用的。

应用中心是没有输入法的,自己通过那个UC浏览器TV版可以下载手机常用的输入法,比如讯飞、百度、搜狗等等,或者电脑下载到u盘魔盒安装也可。

输入法安装好了,但是问题是不能启用,系统没有切换输入法的设置,点击第三方输入法的“切换”也是没有任何效果,看来此路不通啊,但是自带的输入法真心不好用啊(希望更新版本时能改进一下)。于是搜索之,经过一番摸索,找到了一个比较好的方法,在这里与大家分享一下。

主要的思路就是电脑通过adb shell来切换输入法,电脑需要具有adb工具,一般情况下电脑安装了类似刷机精灵软件的都应该具有adb工具,此文以刷机精灵为例。打开刷机精灵工具中的adb shell,输入

adb connect 192.168.1.6

ip地址为局域网中天猫魔盒的ip,连接成功的话会看到

connected to 192.168.1.6:5555

此时再输入adb shell,进入shell@android:/ $提示符,输入

ime list -a

该命令会返回当前魔盒已安装的所有输入法

com.aliyun.mobile.ime/.AImeService:
mId=com.aliyun.mobile.ime/.AImeService mSettingsActivityName=com.aliyun.mobile
.ime.setting.AImeSettingsAct
mIsDefaultResId=0x7f080000
Service:
priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=false
ServiceInfo:
name=com.aliyun.mobile.ime.AImeService
packageName=com.aliyun.mobile.ime
enabled=true exported=true processName=com.aliyun.mobile.ime
permission=android.permission.BIND_INPUT_METHOD
flags=0x0
com.iflytek.inputmethod.pad/.FlyIME:
mId=com.iflytek.inputmethod.pad/.FlyIME mSettingsActivityName=com.iflytek.inpu
tmethod.pad.SettingsActivity
mIsDefaultResId=0x0
Service:
priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=false
ServiceInfo:
name=com.iflytek.inputmethod.pad.FlyIME
packageName=com.iflytek.inputmethod.pad
enabled=true exported=true processName=com.iflytek.inputmethod.pad
permission=android.permission.BIND_INPUT_METHOD
flags=0x0

本文安装的是讯飞输入法,接下来就切换为讯飞输入法(pad版)吧,输入

ime set com.iflytek.inputmethod.pad/.FlyIME

会看到成功的消息

Input method com.iflytek.inputmethod/.FlyIME selected

好了,现在再去操作一下天猫魔盒吧,输入法已经如你所愿啦,都快忘记说了,系统是不需要root的哦。

修改titanium开发android应用启动画面

使用titanium开发android应用程序,默认的应用程序启动画面是个不怎么美观的logo,于是很自然的要把它换掉了。

原来如此简单,只需要替换这个图片文件就可以了:

Resources\android\default.png

以上是针对android应用的,对于ios的应用没有测试(没有设备)。

不过在iphone文件夹下有四个不同尺寸的图片文件:

Resources\iphone\Default.png
Resources\iphone\Default@2x.png
Resources\iphone\Default-Landscape.png
Resources\iphone\Default-Portrait.png

下面是在国外某处看到的

This is done relatively simple. In your titanium project inside the resources folder is a folder for resources which are special for android. Titanium will look into this folder and use the Default.png as the image to display while starting up. Just replace the file that is already existing in this folder with your splash screen image. Be sure to get use Default.png and not default.png because on the device titanium will be case sensitive.

按照这个朋友的说法,default.png和Default.png应该是针对ios应用,需要注意区分大小写。

titanium开发读取android外存设备文件

使用titanium开发android应用,遇到读取android外存设备文件的需求。

例如读取项目本身包含的资源文件:

var url = "sound/demo.mp3"

此时指定的路径为项目Resources下sound文件夹下的demo.mp3文件。

如果需要读取设备外部存储设备中的文件,如在android系统下读取外部存储设备中的文件:

var url = "file:///mnt/sdcard/sound/demo.mp3"

文件路径是以file://加文件绝对路径的形式表现的。

这时可以创建一个音频对象,就可以播放了。

android开发删除模拟设备文件夹

进行android时,我们都会用到模拟设备来进行各种功能的开发测试。

其中就包括在外部存储设备(如sdcard)中创建、删除文件等操作。

在eclipse中android-sdk提供了一个管理工具–DDMS,通过DDMS可以很方便的查看设备的各种信息。

通过DDMS操作sdcard中的文件也是再经常不过的事情了。但是这里就遇到了一个问题,在DDMS中可以正常删除文件,当选中一个文件夹的时候,删除的功能却无法使用,图标是灰色的,不可操作,这时为何呢?

既然DDMS的图形界面无法删除,那就用命令行吧。

执行adb shell启动shell之后,使用rm命令来删除文件夹即可。例如删除sdcard路径下的hello文件夹

命令操作如下:

adb shell
cd /sdcard
rm -r hello

titanium开发设置android访问权限

使用android-sdk进行开发,设置权限是很容易的,修改配置文件就可以了。

对于使用titanium进行android应用的开发时,也遇到了需要设置android访问权限的问题,原来也是很简单的,只是文件不同而已。

在tiapp.xml文件中android配置项中添加

例如添加录音和外部存储设备写权限

关于这个文件的更多配置项可以参考官方文档

http://developer.appcelerator.com/doc/mobile/android-custom-androidmanifest

android开发为模拟器添加sdcard设备

android开发中,模拟器是最经常使用到的了。而一般做应用开发中,都会需要存储一些资料内容等到外部文件,也就是android系统的外部存储设备。

此时就需要为模拟器添加sdcard设备,以方便程序测试调试。

通过命令行程序cmd定位android-sdk/tools目录,飞尘这里的路径是:

E:\Android\android-sdk\tools

在此路径下执行命令

mksdcard 1024M sdcard.img

将创建一个大小为1G的sdcard设备,容量大小可依据个人需要自行调整。

如果遇到下面的错误提示:

Failed to push items
null

可能是eclipse已经打开,此时需要重启下eclipse即可。