摘要: 在Android手机上进行程序的开发,其实也可以说是进行嵌入式的开发,由于设备的处理速度,电量等等资源无法与电脑相比,因此在开发的时候特别需要进行一些优化,下面总结一下需要注意的方面。一、尽可能避免创建对象(Object)二、使用自身方法三、使用虚拟优于使用接口四、使用静态优于使用虚拟五、尽可能避免使用内在的Get,Set方法六、缓冲属性调用七、声明Final常量八、慎重使用增强型for循环语句九、避免使用枚举类型十、通过内联类使用包空间十一、避免浮点类型的使用 阅读全文
posted @ 2011-02-18 22:14 老码农豆豆 阅读(919) 评论(0) 推荐(0) 编辑
摘要: 过年了,还有许多事情要做,现在写博客也比以前少了,等有时间再补充上吧!打开浏览器显示网页:Uri uri = Uri.parse("http://www.ataaw.com");Intent intent = new Intent(Intent.ACTION_VIEW,uri);startActivintenty(intent);由地图参数显示地图:Uri uri = Uri.parse("geo:38.899533,-77.036476");Intent intent = new Intent(Intent.Action_VIEW,uri);start 阅读全文
posted @ 2011-02-12 09:17 老码农豆豆 阅读(5604) 评论(0) 推荐(1) 编辑
摘要: 在进行Android开发的过程中,免不了,要开发TCP/UDP通讯的程序,下面这两段代码,分别介绍了TCP/UCP通过的一个实例:代码一:private void tcpdata() { try { Socket s = new Socket("192.168.0.25", 65500); // outgoing stream redirect to socket OutputStream out = s.getOutputStream(); // 注意第二个参数据为true将会自动flush,否则需要需要手动操作out.flush() PrintWriter outpu 阅读全文
posted @ 2011-01-24 20:27 老码农豆豆 阅读(4539) 评论(0) 推荐(1) 编辑
摘要: 不用在意剩余内存的大小,其实很多人都是把使用其他系统的习惯带过来来了。android大多应用没有退出的设计其实是有道理的,这和系统对进程的调度机制有关系。如果你知道java,就能更清楚这机制了。其实和java的垃圾回收机制类似,系统有一个规则来回收内存。进行内存调度有个阀值,只有低于这个值系统才会按一个列表来关闭用户不需要的东西。当然这个值默认设置得很小,所以你会看到内存老在很少的数值徘徊。但事实上他并不影响速度。相反加快了下次启动应用的速度。这本来就是android标榜的优势之一,如果人为去关闭进程,没有太大必要。特别是使用自动关进程的软件。(这里解决了大家非要关进程的误区!)到这里有人会说 阅读全文
posted @ 2011-01-19 22:22 老码农豆豆 阅读(1746) 评论(0) 推荐(0) 编辑
摘要: 现在每天都在忙,而且一忙起来,就把写笔记的事情放在了后面,最近在写程序的时候,突然要使用全局变量,就按照以前的方式,写了一个类,然后把变量都声明为静态变量,然后做为全局变量使用,但是在进行Activity切换的时候,突然发现,在前面一个Acitivty中赋值后,但是在后面却无法获取到,刚开始以为是有其它地方有问题,但是后来检查发现也没有问题,这个问题困扰了一个来小时,后来又换一种写法,就是使用Application,但是在使用的时候,也发现有这种问题,当时真是感觉不知道如何处理了,在网上查资料也没有看到怎么解决! 在最后我又把初始化换了一个地方进行测试,这次赋值居然不消失了,不过这时还不明白这 阅读全文
posted @ 2011-01-15 20:54 老码农豆豆 阅读(36818) 评论(8) 推荐(5) 编辑
摘要: 今天弄了差不多一天手机拍照,后来,边弄边想,而且现在也不知道自己知道的这些对不对,首先,如果使用此种方式拍照的话,程序在模拟器中,刚启动就会出问题,不知道什么原因,猜可能是因为是模拟器的原因,目前没有手机进行测试,这一些无法解释,代码如下:[代码]下面是获取照片代码,因为我需要在返回的时候直接预览到当前页,并且需要保存的地址,但是这里我只是简单的写一下接收数据,照片怎么保存,这里不讲述,接收照片数据代码如下:[代码]但是在接收的时候,需要先判断一下是不是空,否则容易出错,接收到后,我们就可以进行数据的保存等操作了,但是不知道为什么,这种方式在模拟器上实现不了,也可能是需要硬件支持吧,因为程序需 阅读全文
posted @ 2011-01-13 00:04 老码农豆豆 阅读(3332) 评论(1) 推荐(2) 编辑
摘要: 最近在开发一个与GPS相关的项目,因为其中涉及到了GPS的使用,众所周知,GPS是相当耗电的,因此就想着怎么能知道当前的电量,并且在电量达到一个下限的时候,及时提醒给用户,以根据情况关闭GPS,节省电量,以备电话急用,后来查资料,看API,终于找到了方法,怎么来监视电量,根据电量的变化来获取当前的电量多少,并且根据其它状态综合对手机进行管理,以达到管理最优的状态。 下面是代码:代码这些信息就是监听广播,根据广播的信息进行判断,如果是电量变化的广播,那么就根据这些信息,更新数据,从而进行分析! 阅读全文
posted @ 2011-01-12 00:10 老码农豆豆 阅读(3782) 评论(1) 推荐(3) 编辑
摘要: 最近因为比较忙,好几天没有写博客了,正好现在正在弄上传文件,当时想怎么能实现fileDialog的功能呢,打开文件,浏览文件,然后选择文件呢,查了好多资料,也看了不少论坛,都说里面没有这个功能,那真是奇怪了,里面没有这个功能,当然就需要自己动手添加这个功能了。首先说一下这个文件浏览的简单实现原理:首先选择一个目录做为根目录,然后打开此目录,常用的就是使用File这个类了,如下:File file=new File(path);然后可以通过获取到此目录下所有文件及文件夹的列表:如下:File[] files = file.listFiles();然后再根据根据得到的文件,来判断是文件夹还是文件, 阅读全文
posted @ 2011-01-10 23:09 老码农豆豆 阅读(12952) 评论(1) 推荐(6) 编辑
摘要: 一般在开发程序中,经常使用数据的存储功能,如在使用Delphi开发程序时,存储程序的简单设置的INI文件,在C#开发中有时也需要存储简单的设置,个人一般存储在XML中,也在INI中存储过,但是不如XML使用方便,那么这些都是简单的数据存储功能,在Android中也支持这样的文件存储,但是现在这里主要说的还是使用SQLite存储数据,SQLite是一种跨平台的数据库,是单文件式的,如咱们平常见的最多的Access数据库,但是他有比Access更好的平台支持,并且支持分页,现在主要是用于嵌入式的开发。在开发过程中其实可以直接声明数据库对象来进行存储管理的,代码如下:代码这种方式需要我们处理的内容更 阅读全文
posted @ 2011-01-06 20:55 老码农豆豆 阅读(2348) 评论(0) 推荐(1) 编辑
摘要: 有时候我们在后台运行程序,但是需要给用户一个提示,在这个时候就需要使用提示信息了,即在提示栏显示一个图标或者是文字提醒用户。下面是实现的代码:代码其中ID表示的是图片的ID,文字在这里没有添加,使用的时候按照添加图标的方式可以自己添加!这样可以更改图片。下面这个是删除提示的代码:[代码]这样我们添加的提示通知,可以清除掉,如果我们不想让系统清除掉,那么需要设置相关的属性:[代码]这个属性可以设置为不清除或者是加入正在运行的列表。 阅读全文
posted @ 2011-01-06 11:09 老码农豆豆 阅读(3417) 评论(0) 推荐(1) 编辑
摘要: 情景模式的设置大家应当相当熟悉了,但是在Android中如何通过自己的程序进行情景模式的设置呢,情景模式分为多种多种,即可以使用系统自带的,也可以使用自定义的,但是在开发某些程序时,可能需要在程序中更改情景模式,那么此就需要进行情景模式的设置。下面简单介绍一下情况模式的设置方式:首先获取当前的情景模式:代码通过此代码,当然需要再加工一下,那么就可以得到当前的情景模式,为以后的设置做一下准备,然后也可能知道要不要再次设置。设置情景模式一:只声音,无振动:代码设置后系统只有声音,没有振动。设置情景模式二:即有声音也有振动:代码这样设置后,在发声的时候同时也会有振动提醒。设置情景模式三:只能振动:代 阅读全文
posted @ 2011-01-04 23:32 老码农豆豆 阅读(18381) 评论(0) 推荐(5) 编辑
摘要: 有时候为了使用方便,需要在桌面上添加快捷方式,下面是两种添加快捷方式的方法:1.代码通过以上代码添加的快捷方式,只能在程序启动中添加,不能加入到事件中,现在也没有想明白是什么,也没有仔细研究一下,希望知道的朋友通知一下!并且这样添加的时候,不直接添加到桌面中,而是添加到添加快捷方式窗口中,如图:2.代码 shortcut.putExtra("duplicate", false); //表示的为不允许重复设置此种代码,直接添加到桌面上,并且也在上图所示的地方显示,但是此需要添加下面的权限:uses-permission android:name="com.android.launcher.pe 阅读全文
posted @ 2010-12-30 15:01 老码农豆豆 阅读(6087) 评论(0) 推荐(1) 编辑
摘要: 因为以前写过一个,感觉写的有点不详细,这里做为一个补充!代码如果要获取手机号识别,即表示哪个国家哪个网络的号码,完全不用使用IMSI号码,而直接 使用此即可:telephonemanage.getSimOperator(); 得出的即是识别码此在2G使用的GSM网络里面没有问题,但是在3G卡上或者是CDMA卡上没有进行相应的测试!无法得出结果! 阅读全文
posted @ 2010-12-30 13:26 老码农豆豆 阅读(2458) 评论(0) 推荐(1) 编辑
摘要: 但是在实际应用开发中,通常横屏(land)与竖屏(port)布局文件有所不同,这时候我们可以独自定义横屏与竖屏的布局文件( 文件名字要一样),默认情况是加载layout目录里的布局文件。同样应用还要支持不同的语言,如果我们应用里没有定义手机所用语言的资源时,会默认加载values的值。要使程序适应布局,则需要添加以下两个目录:layout-land 和 layout-port ,系统在进行改变的时候,将会根据这两个现在的屏幕的横竖分别读取这两种不同的布局方式,如果这当前的不存在,则会根据layout中的布局进行布局。下面是我的的三个布局:layout:代码layout-land:代码显示效果: 阅读全文
posted @ 2010-12-30 09:59 老码农豆豆 阅读(1065) 评论(0) 推荐(0) 编辑
摘要: 要获取正在运行的任务,首先需要声明一个活动对象管理器(ActivityManager) 所有的活动任务都属于此,然后通过获取服务可以得到所有的活动对象,然后通过活动对象可以得到所有运行的任务和服务,当然要获取服务和任务是使用不同的方法,但是方式是一样的。下面是获取代码:代码以上的代码全部输出到Log中,没有进行显示! 阅读全文
posted @ 2010-12-30 09:38 老码农豆豆 阅读(2056) 评论(1) 推荐(0) 编辑