
Android
mypyg
这个作者很懒,什么都没留下…
展开
-
Android通过共享用户ID来实现多Activity进程共享
[b][size=large]1.同一Apk中的同一包中的Activity调用时进程状况验证[/size][/b][1]创建Project: project name: [color=green]FirstProject[/color] package:[color=red]com.demo[/color] 默认Activity:[color=green]MainAct...2010-07-24 15:59:46 · 112 阅读 · 0 评论 -
Android Activity LaunchMode 验证
在Android中,每个Activity有4种LaunchMode,默认是standard,下面对这四种模式进行实例验证加深理解。设计两个Activity,分别称为A,B,每个Activity上面都放置两个按钮,一个启动A,一个启动B。界面如下:(上面的一行文字用来识别是在A界面还是在B界面)[img]http://dl.iteye.com/upload/attachmen...2011-02-23 15:04:51 · 89 阅读 · 0 评论 -
Android AppWidget实例验证
[b][size=large]1.创建AppWidget布局,包含两个TextView用来显示内容:[/size][/b][code="xml"] [/code][b][size=large]2.在res下创建xml目录,再在xml目录里面创建AppWidget信息xml文件:[/size][/b][b]2.1新建xml文件时,type选择AppWidget Pr...2011-02-25 15:26:46 · 140 阅读 · 0 评论 -
Android下使用googleapi-client-java操作google calendar(一)
刷机又把数据刷没了,网络时代,数据还是和服务器同步好了。从 http://code.google.com/p/google-api-java-client 下载了库和sample,因为此库还在更新中,文档不是很全,自己摸索了一遍,总结在下面。访问google服务的流程:1.使用用户名、密码获取授权字符串。2.使用授权字符串以及其他的参数发送http请求。3.解析响应,并...2010-11-19 14:41:25 · 378 阅读 · 0 评论 -
Android下使用googleapi-client-java操作google calendar(二)
3.与服务器进行数据交互: 交互是通过HTTP请求及响应来进行;数据被通过xml被打包成Atom协议(http://www.ietf.org/rfc/rfc4287.txt)格式交互。 按照Atom协议格式: Google的日历数据是以feed为根节点打包返回,每个feed又可以包含多个entry,每个entry是一个日历。 同样日历中的事件也是以feed为根节点打...2010-11-28 22:50:44 · 162 阅读 · 0 评论 -
Android下使用googleapi-client-java操作google calendar(三)
4.获取日历列表并显示: 原理:向https://www.google.com/calendar/feeds/allcalendars/full发送GET请求然后解析响应。 发送时牵扯到HTTP Header生成,重定向以及把数据解析成为Java对象等操作,这些库函数都提供了接口可用。 在googleapi-client-api的例子中提供了一个model,此model对库的接口...2010-11-29 18:57:47 · 300 阅读 · 0 评论 -
Apk文件Hack试验
试验1:反编译dex文件并查看(1)将Apk文件作为zip文件解压缩得到classes.dex(2)使用dex2jar(http://code.google.com/p/dex2jar/)工具将dex文件转为jar文件(3)使用jd-gui(http://java.decompiler.free.fr/?q=jdgui)工具查看得到的jar包试验2:...2011-07-11 17:54:05 · 429 阅读 · 0 评论 -
Android平台sqlite快速入门
以下概念都是在Android平台的sqlite3限制下的理解:1.数据库基础概念: 1.1sqlite通过文件来保存数据库,一个文件就是一个数据库。 1.2数据库里又包含数个表格; 每个表格里面包含了多个记录; 每个记录由多个字段组成; 每个字段都有其对应的值; 每个值都可以指定类型。 1.3数据库名称即文件名;表...2010-12-07 12:00:10 · 100 阅读 · 0 评论 -
Android PreferenceActivity 学习笔记
在Ap中有时需要设置一些配置参数,这些参数通过配置文件保存。为了设置这些参数,需要提供一个UI,针对这种需求,Android提供了preferenceActivity。PreferenceActivity通过读取预先定义的xml文件来生成界面,并能够自动的根据用户的操作来修改参数,并保存到配置文件中供读取。1.MainActivity: 按下Menu按键弹出菜单,点击菜单启...2010-12-11 12:45:08 · 161 阅读 · 0 评论 -
Nexus one开关键坏掉后的解决方法
Nexus one手机无法开机了,网上搜索了一下发现很多人遇到这个问题,是开关键的排线坏了。这部手机自从买来,CPU过热重启换过CPU,现在开关键也坏掉了,还真是悲剧的问题都遇到了,因为水货只能自己掏腰包去修,修的钱都够买个新的了,这次懒得去修了,网上有人给出了解决方法:[url]http://bbs.hiapk.com/thread-324836-1-1.html[/url]充电的时...2011-10-14 15:17:58 · 365 阅读 · 0 评论 -
也谈Android下一个apk安装多个程序入口图标
Android中有的Ap功能比较复杂,为了方便用户使用,可以提供多个入口图标,每个入口图标对应一个功能。如果想安装一个Apk在程序管理中出现多个图标,只要给相应的Activity增加intent-filter即可,类似于如下:[code="xml"] [/code]此时点击桌面上的图标,即可进入各自相应的功能,如下图...2011-03-18 11:28:03 · 129 阅读 · 0 评论 -
Android自定义组合控件
目标:实现textview和ImageButton组合,可以通过Xml设置自定义控件的属性。[b][size=x-large]1.控件布局:以Linearlayout为根布局,一个TextView,一个ImageButton。[/size][/b][code="xml"] [/code][b][size=x-large]2.自定义控件代码,从LinearLayout继...2011-03-20 18:56:14 · 106 阅读 · 0 评论 -
一个好用的Google api调试网址
https://code.google.com/apis/explorer/ 可以很方便的通过网页执行Google API,并看到返回结果,对于理解Google API的运行过程很有帮助。 如果连接不上,那么需要。。。你懂的...原创 2011-08-09 11:00:32 · 201 阅读 · 0 评论 -
使用googleapi-client-java操作gtasks(一)
Google Tasks的API终于开放了,可以方便的保存树状工作任务,对照文档和例子摸索了一遍,将一些关键点给大家分享一下。如果对于googleapi-client-java库没什么了解,可以参考我前面的一篇文章:[url]http://mypyg.iteye.com/admin/blogs/816237[/url]当然这个库自从那个时候后又更新了很多,好用多了。下载库:...2011-08-10 18:07:14 · 586 阅读 · 0 评论 -
Android Activity 生命周期再验证
Android Activity 生命活动周期再验证Activity的launchmode为默认值。1.桌面图标启动Ap,按Back键返回: onCreate() onStart() onResume() 【Back键按下】 onPause() onStop() onDestroy()2.长按Home按键,从最近程序中点击图标进入: 与情况1相同。...2011-11-22 16:20:08 · 183 阅读 · 0 评论 -
Android Linux 开发环境搭建
最近一段时间开始了Android源代码研究,陆续将最近的一些经验及资料汇总一下,方便日后查找。Android源代码编译可以在windows下也可以在Linux下,个人比较习惯Linux。1.首选是选择Linux系统,原来用的系统已经2年未更新,故而考虑一起更新。先是选择了Ubuntu 10.10,但在我的电脑上老是桌面假死,另外很多开发工具要单独安装;更换成Fedora 1...2010-11-05 09:40:42 · 86 阅读 · 0 评论 -
改包名导致JNI调用失败的问题
修改以前的代码,移动了一个文件,修改了其包名,在这个文件代码中有一些native函数通过jni调用库函数,于是重新生成了头文件,修改库函数代码中的函数名,重新生成库,本来想着包名改了,库函数名也跟着改了,应该没问题的,结果在加载的时候总是失败,跟踪发现是库函数中也回调了Java的代码,必须将回调Java代码部分的包名也一起改掉。...2011-08-31 13:41:52 · 941 阅读 · 0 评论 -
Android自定义对话框的大小
在Android做界面时要弹出对话框让用户输入内容,经常遇到开始的时候没有内容对话框一点点,看起来很别扭,查了下资料,修改对话框的WindowManager.LayoutParams可以达到修改对话框大小的目的。从Dialog继承一个自定义对话框类,在其构造函数中加上如下代码:[code="java"]WindowManager m = getWindowManager();D...2010-07-27 16:45:42 · 175 阅读 · 0 评论 -
Android 定时器真机测试
在Android上常用的定时器有两种,一种是Java.util.Timer,一种就是系统的AlarmService了。实验1:使用Java.util.Timer。在onStart()创创建Timer,每5秒更新一次计数器,并启动。[code="java"]mTimer = new Timer(); mTimer.schedule(new TimerTask() { ...2010-08-06 13:25:04 · 97 阅读 · 0 评论 -
Android在Listview中使用EditText
这一段写一个小程序,有某个界面需要编辑较多的数据,于是用了一个Listview,将EditText放进去用来做编辑控件,遇到了下面的情况:1.屏幕内容滚动时会调用ListView的Adapter的getView()重新产生View,这就要求及时保存EditText中的数据,不然会丢失,使用了Listener监听EditText的TextChange,但是发现Listener经常不被调用,跟踪发...2010-08-16 13:11:14 · 310 阅读 · 0 评论 -
Android试验:如果View的ID相同会出现什么效果?
1.实验:通过布局编辑器强行指定两个button id相同,然后在代码中通过findViewById()获得句柄后修改其文本。实验结果:只有一个button的文本变化了,另一个不受影响。2.实验:主布局只放一个linearLayout,代码中动态的new 一个button,然后同过Layout.addView()多次重复添加。实验结果:发现程序直接报错不让运行了。3.实验:主布局放...2010-08-21 12:17:44 · 358 阅读 · 0 评论 -
Android 在Sd卡上保存数据的目录约定
从Android 2.2开始,系统增加了新的函数:context.getExternalFilesDir() 来统一Android程序在Sd上的保存目录约定,省的大家看到SD卡根目录越来越乱了。通过此函数获取了保存目录后,保存在此目录的文件,当程序卸载时,系统会自动删除。另外提供了新的函数:Environment.getExternalStoragePublicDi...2010-08-24 14:11:19 · 231 阅读 · 0 评论 -
Android调用系统Activity选取图像部分区域
在android联系人界面,点击添加头像后可以选择一个图像的部分区域来作为头像。查看了一下代码,模仿着写了一段从文件中选择部分区域:[code="java"]Intent intent = new Intent("com.android.camera.action.CROP");intent.setClassName("com.android.camera", "com.andro...2010-08-27 17:03:51 · 100 阅读 · 0 评论 -
Android手势研究(textview及listview对比验证)(一)
手势即手触摸屏幕做出动作。View可以通过onTouchEvent收到触摸屏幕事件,我们可以通过View.setOnTouchListener()设置事件监听器或者override onTouchEvent()来拦截这些事件,在拦截函数中判断触摸点的轨迹及运动速度就可以判断出是什么手势。Android系统提供了GestureDetector来方便手势的判断,即:在拦截函...2010-09-12 10:46:07 · 160 阅读 · 0 评论 -
Android手势研究(textview及listview对比验证)(二)
在上文中我们对手势操作进行了基本验证,我们将上文中添加第二个textview的改为添加Listview,代码如下:[code="java"]ListView lv = new ListView(this);lv.setBackgroundColor(0xff808080);final String[] items = {"one", "two", "three"};lv.s...2010-09-12 15:48:05 · 114 阅读 · 0 评论 -
通过Java annotation以及反射机制实现不同类型通用的数据库访问接口
在日常开发中会遇到这种情况: 多类对象需要保存到数据库中,每类对象都要创建一个表,创建表时的字段、索引序号、字段类型都要一一对应,如果保存到数组中,当需要增减字段就要更改数组,一是繁琐,二是很容易搞错序号导致程序运行错误,三是代码复用很难做到。为了解决上述几点问题,在实践摸索中想出了通过annotation来解决的方法。其原理是: 创建表时:需要表名、字段名、字段类型 保存...2010-12-22 12:14:53 · 226 阅读 · 0 评论 -
Android下Listview的onItemClick以及onItemLongClick等易模糊问题验证
最近在使用Listview又遇到了以前碰到的问题,当Listview的某一行有button存在时,无法弹出contextMenu,干脆把Listview几个容易产生疑惑的问题一起梳理了一下。首先在Activity的布局中放置一个ListView,然后setContentView加载此布局不再详表。其次实现一个从BaseAdapter继承的类,以提供给ListView显示的内容。...2010-12-23 21:10:35 · 153 阅读 · 0 评论 -
Android 自定义控件外观
在程序开发中,android系统控件提供的外观往往距离我们要求的有一定差距,此时我们可以通过一些方法来修改。本文只讨论外观修改,在系统控件上进行功能扩充的自定义控件另外讨论。首先我们看下系统的RadioButton:RadioButton长成什么样子是由其Background、Button等属性决定的,Android系统使用style定义了默认的属性,在android源码...2010-09-20 19:29:23 · 151 阅读 · 0 评论 -
一个由onKeyUp引起的问题
刚写一个小程序,在用户按下Back按键返回时,需要保存一些数据。在实际应用中发现有时数据会重复保存多次,而有时则只保存一次,经过跟踪发现,当快速的按下Back按键时,此时前台Activity尚未消失,会收到多次onKeyUp回调,导致数据保存了多次。将数据保存代码调整到onBackPressed()后就没有此现象了,即使快速的多次点击Back,也只会回调一次。...2011-04-19 16:05:35 · 387 阅读 · 0 评论 -
关于使用InputStreamReader读取GBK编码文件乱码的问题
[code="java"]BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(packageFilePath)));[/code]当使用此Reader读取GBK编码的文件时,所有的中文都会乱码,因为Reader会将读取到的byte转换成char,如果没有指定转换编码,那么And...2011-01-19 17:13:43 · 1385 阅读 · 0 评论 -
文件夹权限引起的MediaPlayer播放不正常
写了一个Ap,在程序运行时会解压一些声音文件到/data/data/app_dir目录。在调用Mediaplayer来播放这些文件时,总是提示失败,在网上搜到有提到权限的问题,把目录改成所有人可读写即可播放,验证后ok。分析原因是MediaPlayer是个服务,是在另一个进程也是另一个用户的,默认创建的声音文件对其是不可读的,导致无法读取数据,在MediaPlayer.prepare(...2011-01-20 20:41:15 · 233 阅读 · 0 评论 -
使用googleapi-client-java操作gtasks(二)
对于很多第三方的机器没有安装Google账户管理,要访问GTasks,那么可以使用OAuth 2.0的认证方式。OAuth 2.0的认证流程:1.得到授权码2.使用授权码获得真正的数据访问令牌其中数据访问令牌一般有效期为60分钟,在得到此访问令牌的时候还会得到一个刷新令牌,当访问令牌过期后可以用此刷新令牌自动获得一个新的。1.授权码的获得:用浏览器打开一个url,这...2012-03-29 15:34:48 · 613 阅读 · 0 评论