谈谈自己的第一款应用开发心得
自己花了一段时间做 了一款,快速切换手机网络状态的小软件,现在已经在market上面发布了。
这款软件是一个桌面widget程序,只占用1X1的位置,但是可以实现:
1、移动网络(GPRS/EDGE)
2、Wifi
3、蓝牙
4、飞行模式
各自的开启和关闭状态。可以帮助大家快速管理手机网络状态,直接上图,有需要的朋友可以上market搜:Quick Switching
在开发这个应用的时候还是学到了不少东西,之前看Android都只是简单的一个demo一个demo学习,没有将其融合在一起,而且在开发的过程中,因为有些控制无法直接实现,就狂看了几天的源码,从源码中还是学到了不少东西。通过这个程序我也有不少心得,这里和一些想我一样奋斗的童鞋们分析一下:
1、Google在公开android的sdk源码的时候的有很多方法都是@hide,这个很是郁闷,不过还好我们的java有反射功能,反射在我这个程序里面帮了很大的忙。大家以后在开发中如果再遇到相同的问题,不妨试试
2、对AppWidget开发的了解更深入了,为widget组件添加单击事件通过setOnClickPendingIntent来实现,如果想打开一个对话框只需要getActivity,想后台运行使用getService。之前对widget的单击操作事件一点都不了解,现在算是完全明白了。
看了几天源码感觉收获是最大的,比我开始看书进步的多,管不得牛人动不动翻源码。可以见得内功是多么的重要
10 楼 wafj1984 2010-02-10 恭喜啊 很不错的 11 楼 BatiTan 2010-02-11 支持楼主,继续做下去 12 楼 稻-草 2010-03-15 Localized to: unknown
有没有关系的? 13 楼 silencekelvin 2010-03-20 博主,你好,恭喜你的成绩。我在这有个问题想请教你:
我用ITelephony 接口和java 反射用来建立移动网络连接,使用的函数是iTelephony.enableDataConnectivity(),但该函数一直都会报错,不知你有什么建议。通过查看源代码发现其有建立gprs连接的过程。
主要问题来自于getDataActivity()的函数中的android.os.Parcel _reply = android.os.Parcel.obtain();在这个位置卡住,不知是何原因。希望博主有所指导,在此感谢! 14 楼 yzhong_sa 2010-05-07 双方是否是对方十分萨芬沙发上非法所得发声法撒旦发射点发散发的发生地方 15 楼 yzhong_sa 2010-05-07 我也准备注册一个android app帐号上去玩玩 。。widget我也做过一些 日后多多交流。 273668867加我q方便联系