当前位置: 编程技术>移动开发
本页文章导读:
▪dialog成效 dialog效果
在AndroidManifest.xml中这样配置activity<activity android:name=".AboutActivity" android:screenOrientation="portrait" android:label="关于我们" android:theme=.........
▪ Titanium Mobile API的chm资料制作思路 Titanium Mobile API的chm文件制作思路
在前一篇Titanium Mobile API 1.8.2.chm第1版发布中,发布了作成的CHM版本API帮助文件,很多朋友对如何做成这个文档很感兴趣。这回给大家提供具体的制作过程.........
▪ 在linux中eclipse联接android手机开发程序 在linux中eclipse连接android手机开发程序
本文章参考自以下博客:http://hi.baidu.com/sunblackshine/blog/item/9a95c9d201a06539960a163d.html开发android程序,当然能用真机看一下效果是最好的。在linux下,android.........
[1]dialog成效
来源: 互联网 发布时间: 2014-02-18
dialog效果
在AndroidManifest.xml中这样配置activity
<activity android:name=".AboutActivity"
android:screenOrientation="portrait"
android:label="关于我们"
android:theme="@android:style/Theme.Dialog"></activity>
可以实现,打开这个activity时,dialog的效果。
在AndroidManifest.xml中这样配置activity
<activity android:name=".AboutActivity"
android:screenOrientation="portrait"
android:label="关于我们"
android:theme="@android:style/Theme.Dialog"></activity>
可以实现,打开这个activity时,dialog的效果。
[2] Titanium Mobile API的chm资料制作思路
来源: 互联网 发布时间: 2014-02-18
Titanium Mobile API的chm文件制作思路
在前一篇Titanium Mobile API 1.8.2.chm第1版发布中,发布了作成的CHM版本API帮助文件,很多朋友对如何做成这个文档很感兴趣。这回给大家提供具体的制作过程。
(最近可能没时间来继续更新这个chm版本的帮助文档了,也希望能有人看了这篇文章后,继续为大家提供最新的chm版帮助文档。)
做成chm文件最基本的就是要做好html版的页面,有了html版的页面后,就好办了,用Visual CHM或者PowerCHM等工具compile一下就能做成CHM文件了!
重点是如何做html版的API页面!这里我们一步一步的来看看如何生成出来庞大的html页面。思路有两个:
思路一:通过Titanium源码中的yml来生成
1、下载appcelerator-titanium-mobile源码
Appcelerator将源码公布在Github,从https://github.com/appcelerator/titanium_mobile下载真个源码后放置到本地磁盘。
2、安装Python环境
下载完Titanium Mobile源码后解压,你就会发现apidoc这个文件夹,其下有一个docgen.py文件,就是用来生成API的html文件的Python脚本,所以这里我们想要生成html的话,必须要有Python的环境。
从Titanium的兼容矩阵中可以看到,Titanium使用的Python版本是2.7。所以我们需要安装2.7版本,不要低也不要高哦,不然会编译不过去的。
https://wiki.appcelerator.org/display/guides/Titanium+Compatibility+Matrix#TitaniumCompatibilityMatrix-Python
从http://www.python.org/download/下载python-2.7.2.msi后安装,具体怎么安装这里就不罗嗦了。
3、安装easy_install
由于要解析yml所以需要到Python的pyyaml模块,我们要下载安装,这里介绍使用easy_installl来方便安装。
从http://peak.telecommunity.com/dist/ez_setup.py下载ez_setup.py后运行,把Python的Scripts文件夹(例如C:\Python27\Scripts)添加到PATH环境变量里。
然后安装pyyaml和Pygments
# easy_install pyyaml
# easy_install Pygments
4、生成API的html版本
执行docgen.py之后,就可以看到开始生成html文件了。
生成的html文件会放在dist\apidoc下
其中首页是index.html
这里我们看到的html文件是没有做过任何美工的,如果你想美化页面(可以随便修改)的话,可以做一个style.css放到apidoc\templates\html\header.html中
然后重新执行docgen.py,等生成完html之后,将你的style.css放入dist\apidoc中,这样再看看页面
思路二:通过官方提供的api.json来生成
官方每次在发布最新版本API的时候,都会提供API Reference as JSON。比如1.8.2版本的话,你就可以通过http://developer.appcelerator.com/apidoc/mobile/1.8.2/api.json来获取到api.json。这个JSON串中包含了所有的API信息(包括各个API之间的链接)。
我们有了api.json之后,就可以通过JSON解析工具反序列化成对象,这里我们使用Jackson,因为它的效率足够高。
其中JSON中的对象结构,这里为大家整理出Class图如下:
查看Class图就可以看到,Module、Method、Event、Property都有一个filename的属性,这也就是说他们是基本的模板,所有的API不外乎其中的一种。我们采用freemaker(FreeMarker是一个高速的模板引擎,估计Java程序员都应该知道)来做模板文件,具体模板文件如何写,这里也不说了,不是太难。。模板文件的编写可以从官方网页中随便抓取对应的一个页面即可。
首先我们用Jackson反向解析JSON串,我们会得到HashMap<String, Module>的一个Map对象。然后遍历这个Map文件,根据Class图中的继承关系生成各个html文件。
***需要特别提及的是index页的生成,其实就是Map的那些Key。
特别要提及的还是。目前官方提供的API的JSON串中,有一些错误,并不合法。
Java版的源码也上传给大家:TiJson.rar
生成完html之后就可以做CHM了,不管是使用Visual CHM或者PowerCHM都很方便。具体如何编译成CHM这里就不说了。
在前一篇Titanium Mobile API 1.8.2.chm第1版发布中,发布了作成的CHM版本API帮助文件,很多朋友对如何做成这个文档很感兴趣。这回给大家提供具体的制作过程。
(最近可能没时间来继续更新这个chm版本的帮助文档了,也希望能有人看了这篇文章后,继续为大家提供最新的chm版帮助文档。)
做成chm文件最基本的就是要做好html版的页面,有了html版的页面后,就好办了,用Visual CHM或者PowerCHM等工具compile一下就能做成CHM文件了!
重点是如何做html版的API页面!这里我们一步一步的来看看如何生成出来庞大的html页面。思路有两个:
思路一:通过Titanium源码中的yml来生成
1、下载appcelerator-titanium-mobile源码
Appcelerator将源码公布在Github,从https://github.com/appcelerator/titanium_mobile下载真个源码后放置到本地磁盘。
2、安装Python环境
下载完Titanium Mobile源码后解压,你就会发现apidoc这个文件夹,其下有一个docgen.py文件,就是用来生成API的html文件的Python脚本,所以这里我们想要生成html的话,必须要有Python的环境。
从Titanium的兼容矩阵中可以看到,Titanium使用的Python版本是2.7。所以我们需要安装2.7版本,不要低也不要高哦,不然会编译不过去的。
https://wiki.appcelerator.org/display/guides/Titanium+Compatibility+Matrix#TitaniumCompatibilityMatrix-Python
从http://www.python.org/download/下载python-2.7.2.msi后安装,具体怎么安装这里就不罗嗦了。
3、安装easy_install
由于要解析yml所以需要到Python的pyyaml模块,我们要下载安装,这里介绍使用easy_installl来方便安装。
从http://peak.telecommunity.com/dist/ez_setup.py下载ez_setup.py后运行,把Python的Scripts文件夹(例如C:\Python27\Scripts)添加到PATH环境变量里。
然后安装pyyaml和Pygments
# easy_install pyyaml
# easy_install Pygments
4、生成API的html版本
执行docgen.py之后,就可以看到开始生成html文件了。
生成的html文件会放在dist\apidoc下
其中首页是index.html
这里我们看到的html文件是没有做过任何美工的,如果你想美化页面(可以随便修改)的话,可以做一个style.css放到apidoc\templates\html\header.html中
然后重新执行docgen.py,等生成完html之后,将你的style.css放入dist\apidoc中,这样再看看页面
思路二:通过官方提供的api.json来生成
官方每次在发布最新版本API的时候,都会提供API Reference as JSON。比如1.8.2版本的话,你就可以通过http://developer.appcelerator.com/apidoc/mobile/1.8.2/api.json来获取到api.json。这个JSON串中包含了所有的API信息(包括各个API之间的链接)。
我们有了api.json之后,就可以通过JSON解析工具反序列化成对象,这里我们使用Jackson,因为它的效率足够高。
其中JSON中的对象结构,这里为大家整理出Class图如下:
查看Class图就可以看到,Module、Method、Event、Property都有一个filename的属性,这也就是说他们是基本的模板,所有的API不外乎其中的一种。我们采用freemaker(FreeMarker是一个高速的模板引擎,估计Java程序员都应该知道)来做模板文件,具体模板文件如何写,这里也不说了,不是太难。。模板文件的编写可以从官方网页中随便抓取对应的一个页面即可。
首先我们用Jackson反向解析JSON串,我们会得到HashMap<String, Module>的一个Map对象。然后遍历这个Map文件,根据Class图中的继承关系生成各个html文件。
***需要特别提及的是index页的生成,其实就是Map的那些Key。
特别要提及的还是。目前官方提供的API的JSON串中,有一些错误,并不合法。
- Method's return type(returns)
- Parameter's type(type)
- Property's type(type)
Java版的源码也上传给大家:TiJson.rar
生成完html之后就可以做CHM了,不管是使用Visual CHM或者PowerCHM都很方便。具体如何编译成CHM这里就不说了。
1 楼
annqilee
2012-04-11
如果左边有类似官网网页上的目录,就更理想了!
[3] 在linux中eclipse联接android手机开发程序
来源: 互联网 发布时间: 2014-02-18
在linux中eclipse连接android手机开发程序
本文章参考自以下博客:http://hi.baidu.com/sunblackshine/blog/item/9a95c9d201a06539960a163d.html
开发android程序,当然能用真机看一下效果是最好的。
在linux下,android手机连接linux并不用装驱动,但是遗憾的是在eclipse那里并不能被识别出来。不过,其实只需要下面的几句就可以解决了。
1、首先我们需要使用以下命令实时监视系统信息
sudo tail -f /var/log/messages
2、此时在usb接口上连接手(手机需要切换到usb调试模式 设置-->应用程序-->开发-->usb调试)
messages会出现
Apr 5 18:24:40 msdx kernel: [10873.569350] usb 2-1.3: new high speed USB device number 12 using ehci_hcd
Apr 5 18:24:41 msdx kernel: [10873.655290] usb 2-1.3: New USB device found, idVendor=0bb4, idProduct=0c86
Apr 5 18:24:41 msdx kernel: [10873.655295] usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Apr 5 18:24:41 msdx kernel: [10873.655298] usb 2-1.3: Product: Android Phone
Apr 5 18:24:41 msdx kernel: [10873.655300] usb 2-1.3: Manufacturer: HTC
Apr 5 18:24:41 msdx kernel: [10873.655302] usb 2-1.3: SerialNumber: SH1CWV800985
Apr 5 18:24:41 msdx kernel: [10873.656901] scsi12 : usb-storage 2-1.3:1.0
Apr 5 18:24:41 msdx mtp-probe: checking bus 2, device 12: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3"
Apr 5 18:24:41 msdx mtp-probe: bus: 2, device: 12 was not an MTP device
Apr 5 18:24:42 msdx kernel: [10874.656632] scsi 12:0:0:0: Direct-Access HTC Android Phone 0000 PQ: 0 ANSI: 2
Apr 5 18:24:42 msdx kernel: [10874.656752] scsi: killing requests for dead queue
Apr 5 18:24:42 msdx kernel: [10874.656914] scsi: killing requests for dead queue
Apr 5 18:24:42 msdx kernel: [10874.656984] scsi: killing requests for dead queue
Apr 5 18:24:42 msdx kernel: [10874.657043] scsi: killing requests for dead queue
Apr 5 18:24:42 msdx kernel: [10874.657255] scsi: killing requests for dead queue
Apr 5 18:24:42 msdx kernel: [10874.657450] scsi: killing requests for dead queue
Apr 5 18:24:42 msdx kernel: [10874.657611] scsi: killing requests for dead queue
Apr 5 18:24:42 msdx kernel: [10874.657676] scsi: killing requests for dead queue
Apr 5 18:24:42 msdx kernel: [10874.658087] sd 12:0:0:0: Attached scsi generic sg2 type 0
Apr 5 18:24:42 msdx kernel: [10874.661002] sd 12:0:0:0: [sdb] Attached SCSI removable disk
看到上面红色字体了吗,那就是udev识别的usb调试设备标识 idVendor=0bb4, idProduct=0c86
关于idVendor=0bb4,貌似大多数android手机都是一样的。
3、配置udev规则文件,调整设备文件权限
接下来我们就可以根据前面获得的usb调试设备标识来调整我们的设备文件的各种属性以帮助android sdk识别usb调试设备。
在终端下输入su,然后输入超级管理员密码,以超级管理员权限登录。
4、创建udev规则文件:输入gedit /etc/udev/rules.d/50-android.rules
5、在打开的文本编辑器中输入以下内容:
SUBSYSTEMS=="usb",ATTRS{idVendor}=="0bb4",SYMLINK+="android_adb",OWNER="sunshine"
其中,OWNER里面对应的是你自己的用户。ATTRS{idVendor}中对应的则是第2步中得到的那个信息。
(这里要特别注意,我们的目的就是使android手机调试设备文件的所有者权限与开启的 adb 服务的所有者权限相一致,这样usb设备才能被adb服务识别)。
6、运行以下命令使刚更改的配置生效 (此处针对于Fedora及其衍生版本,其他Linux版本请查看udev man)
sudo udevadm control --reload-rules
7、重新插入USB,生成新的设备文件
这时会在/dev/下出现一个连接文件android_adb,它指向的设备就是你的USB调试的手机设备。
到这里应该就可以了。
本文章参考自以下博客:http://hi.baidu.com/sunblackshine/blog/item/9a95c9d201a06539960a163d.html
开发android程序,当然能用真机看一下效果是最好的。
在linux下,android手机连接linux并不用装驱动,但是遗憾的是在eclipse那里并不能被识别出来。不过,其实只需要下面的几句就可以解决了。
1、首先我们需要使用以下命令实时监视系统信息
sudo tail -f /var/log/messages
2、此时在usb接口上连接手(手机需要切换到usb调试模式 设置-->应用程序-->开发-->usb调试)
messages会出现
Apr 5 18:24:40 msdx kernel: [10873.569350] usb 2-1.3: new high speed USB device number 12 using ehci_hcd
Apr 5 18:24:41 msdx kernel: [10873.655290] usb 2-1.3: New USB device found, idVendor=0bb4, idProduct=0c86
Apr 5 18:24:41 msdx kernel: [10873.655295] usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Apr 5 18:24:41 msdx kernel: [10873.655298] usb 2-1.3: Product: Android Phone
Apr 5 18:24:41 msdx kernel: [10873.655300] usb 2-1.3: Manufacturer: HTC
Apr 5 18:24:41 msdx kernel: [10873.655302] usb 2-1.3: SerialNumber: SH1CWV800985
Apr 5 18:24:41 msdx kernel: [10873.656901] scsi12 : usb-storage 2-1.3:1.0
Apr 5 18:24:41 msdx mtp-probe: checking bus 2, device 12: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3"
Apr 5 18:24:41 msdx mtp-probe: bus: 2, device: 12 was not an MTP device
Apr 5 18:24:42 msdx kernel: [10874.656632] scsi 12:0:0:0: Direct-Access HTC Android Phone 0000 PQ: 0 ANSI: 2
Apr 5 18:24:42 msdx kernel: [10874.656752] scsi: killing requests for dead queue
Apr 5 18:24:42 msdx kernel: [10874.656914] scsi: killing requests for dead queue
Apr 5 18:24:42 msdx kernel: [10874.656984] scsi: killing requests for dead queue
Apr 5 18:24:42 msdx kernel: [10874.657043] scsi: killing requests for dead queue
Apr 5 18:24:42 msdx kernel: [10874.657255] scsi: killing requests for dead queue
Apr 5 18:24:42 msdx kernel: [10874.657450] scsi: killing requests for dead queue
Apr 5 18:24:42 msdx kernel: [10874.657611] scsi: killing requests for dead queue
Apr 5 18:24:42 msdx kernel: [10874.657676] scsi: killing requests for dead queue
Apr 5 18:24:42 msdx kernel: [10874.658087] sd 12:0:0:0: Attached scsi generic sg2 type 0
Apr 5 18:24:42 msdx kernel: [10874.661002] sd 12:0:0:0: [sdb] Attached SCSI removable disk
看到上面红色字体了吗,那就是udev识别的usb调试设备标识 idVendor=0bb4, idProduct=0c86
关于idVendor=0bb4,貌似大多数android手机都是一样的。
3、配置udev规则文件,调整设备文件权限
接下来我们就可以根据前面获得的usb调试设备标识来调整我们的设备文件的各种属性以帮助android sdk识别usb调试设备。
在终端下输入su,然后输入超级管理员密码,以超级管理员权限登录。
4、创建udev规则文件:输入gedit /etc/udev/rules.d/50-android.rules
5、在打开的文本编辑器中输入以下内容:
SUBSYSTEMS=="usb",ATTRS{idVendor}=="0bb4",SYMLINK+="android_adb",OWNER="sunshine"
其中,OWNER里面对应的是你自己的用户。ATTRS{idVendor}中对应的则是第2步中得到的那个信息。
(这里要特别注意,我们的目的就是使android手机调试设备文件的所有者权限与开启的 adb 服务的所有者权限相一致,这样usb设备才能被adb服务识别)。
6、运行以下命令使刚更改的配置生效 (此处针对于Fedora及其衍生版本,其他Linux版本请查看udev man)
sudo udevadm control --reload-rules
7、重新插入USB,生成新的设备文件
这时会在/dev/下出现一个连接文件android_adb,它指向的设备就是你的USB调试的手机设备。
到这里应该就可以了。
最新技术文章: