喜糖

移动开发工程师 。涉及 android、ios、jni

导航

上一页 1 ··· 4 5 6 7 8 9 10 下一页

2011年9月22日

摘要: 一找客户端中大量使用了提示框。 针对较多的客户端需要一个合理的组织方式。在activity中有一个方法,showDialog(id).这里设置的id可以在该方法的onCreateDialog中进行设置。看代码: @Override protected Dialog onCreateDialog(int id) { switch (id) { case Const.DIALOG_YES_NO_MESSAGE: return new AlertDialog.Builder(_context) ... 阅读全文

posted @ 2011-09-22 12:26 喜糖 阅读(362) 评论(0) 推荐(0) 编辑

摘要: 在android中,Activity的生命周期一般是由系统进行控制的,即使我们能手都的进行finish()。 就利用这一点,来实现本文的功能。在退出整个应用的时候,关闭所有activity。多了不在说,都比较简单。 上代码,一看就懂。/** * activity管理器 * @author suntony * */public class ATManager { //acticity打开列表 private static List<Activity> activityList = new LinkedList<Activity>(); public static voi. 阅读全文

posted @ 2011-09-22 11:52 喜糖 阅读(826) 评论(0) 推荐(0) 编辑

摘要: public class MD5 { private static final char HEX_DIGITS[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; private static String toHexS 阅读全文

posted @ 2011-09-22 11:35 喜糖 阅读(407) 评论(0) 推荐(0) 编辑

摘要: andorid框架中加入了org.apache.http包。这样就可以使用apache包中关于HTTP的内容, 极大的方便了针对HTTP协议的开发。在一找客户端中不仅仅使用apache的方法,而已在apache的基础之上,就对其进行一次封装。 这就是本篇所要介绍的内容。代码分析。1。HttpManager工具类的代码使用 //传递的参数 List<NameValuePair> params = new ArrayList<NameValuePair>(); //s为接到的返回值 String s = new HttpMan... 阅读全文

posted @ 2011-09-22 01:05 喜糖 阅读(1330) 评论(0) 推荐(0) 编辑

2011年9月21日

摘要: 前一段时间在网上找到了一份开源项目: 一找网(www.yeezhao.com)。 这是个电子商务网站,这两天研究它的android客户端。整体来看这个项目的代码写的还是非常棒的、非常清晰。有许多可以借鉴的地方。先来个图片,让我们感受一下这个软件的软件架构action里面的内容为封装的一些动作信息。比较复杂的逻辑。activity为界面信息。adapter为程序中使用到的适配器bean为对数据的封装。blog为牵扯的微博信息。core为一些框架的基础类。提供的几大功能的核心类。ui为扩展的UI类。util中包含了所需要的客户端信息。从上面可以看出,整个程序的代码结构还是很清晰的。介绍我这个代码结 阅读全文

posted @ 2011-09-21 21:12 喜糖 阅读(518) 评论(0) 推荐(0) 编辑

2011年9月19日

摘要: 大家好,今天给大家介绍如何在Android下实现一个带动画效果的Tab Menu。Tab Menu的打开动画效果为自下而上的淡入推进效果,关闭效果为自上而下的淡出推出效果。实现的效果图如下(没有找到合适的屏幕录像工具,只能截静态图):效果: 点击MENU键,系统的menu项是依次滑到界面上去的。实现这个Tab可以替代android系统丑陋的menu界面,当用户点击menu按钮时,通过使用钩子函数onKeyDown(int keyCode, KeyEvent event)实现思路:捕获menu按键事件,实现打开或者关闭Tab。当Tab打开后,按back按键会关闭Tab。以下为关键代码,代码说明请 阅读全文

posted @ 2011-09-19 15:44 喜糖 阅读(2115) 评论(0) 推荐(0) 编辑

摘要: 导语:在开发Android应用的过程中,我们需要时刻注意保障应用的稳定性和界面响应性,因为不稳定或者响应速度慢的应用将会给用户带来非常差的交互体验。在越来越讲究用户体验的大环境下,用户也许会因为应用的一次Force Close(简称FC)或者延迟严重的动画效果而卸载你的应用。由于现在的应用大多需要异步连接网络,本系列文章就以构建网络应用为例,从稳定性和响应性两个角度分析多线程网络任务的性能优化方法。概述:为了不阻塞UI线程(亦称主线程),提高应用的响应性,我们经常会使用新开线程的方式,异步处理那些导致阻塞的任务(如要了解Android异步处理的实现方式和原理,请先阅读《Android异步处理系 阅读全文

posted @ 2011-09-19 14:25 喜糖 阅读(571) 评论(0) 推荐(0) 编辑

摘要: Android异步处理系列文章索引:http://blog.csdn.net/mylzc/article/details/6777767 阅读全文

posted @ 2011-09-19 14:14 喜糖 阅读(206) 评论(0) 推荐(0) 编辑

2011年9月18日

摘要: 由于android设备的RAM较小,且Java的GC机制不够智能,经常会出现Out of memory异常。 当然,除了上面的原因,也有可能就是因为写的程序有bug,产生内存溢出。在进行图片较多的软件处理时,很有可能会遇到OOM(out of memory)的异常。图片是一个非常消耗内存的资源,针对图片的处理需要进行特殊的处理。经过一段时间的调研,我总结出来几个注意事项。尽量使用9png格式的图片加载图片时,压缩图片后加载尽快的手动标记回收图片资源设置dalivk虚拟机的初始堆内存大小和GC效率(适用于不单单是图片的问题)调用system.gc来执行垃圾回收(不赞成的方法)下面是对这几个内容的 阅读全文

posted @ 2011-09-18 03:14 喜糖 阅读(930) 评论(0) 推荐(1) 编辑

2011年9月16日

摘要: http://www.blogjava.net/rosen/archive/2010/06/13/323522.html 阅读全文

posted @ 2011-09-16 02:48 喜糖 阅读(156) 评论(0) 推荐(0) 编辑

摘要: 概述在android的开发中,要时刻主要内存的分配和垃圾回收,因为系统为每一个dalvik虚拟机分配的内存是有限的,在google的G1中,分配的最大堆大小只有16M,后来的机器一般都为24M,实在是少的可怜。这样就需要我们在开发过程中要时刻注意。不要因为自己的代码问题而造成OOM错误。JAVA的内存管理大家都知道,android应用层是由java开发的,android的davlik虚拟机与jvm也类似,只不过它是基于寄存器的。因此要了解android的内存管理就必须得了解java的内存分配和垃圾回收机制。在java中,是通过new关键字来为对象分配内存的,而内存的释放是由垃圾收集器(GC)来 阅读全文

posted @ 2011-09-16 02:43 喜糖 阅读(239) 评论(0) 推荐(0) 编辑

摘要: http://wenku.baidu.com/view/bf788a02b52acfc789ebc9c4.html明天分析该文章。 此乃佳品 阅读全文

posted @ 2011-09-16 02:25 喜糖 阅读(278) 评论(0) 推荐(0) 编辑

摘要: 1、数据库的cursor没有关闭2、 构造adapter没有使用缓存contentview 衍生的listview优化问题:减少创建View的对象,充分使用contentview,可以使用静态类来处理优化getView的过程3、Bitmap对象不使用时采用recycle()释放内存4、Activity中的对象生命周期大于Activity?调式方法:DDMS->HEAPSIZE->dataobject->total sizeAndroid应用程序被限制在16MB的堆上运行,至少在T-Mobile G1上是这样。对于手机来说,这是很大的内存了;但对于一些开发人员来说,这算是较小的 阅读全文

posted @ 2011-09-16 02:16 喜糖 阅读(429) 评论(0) 推荐(0) 编辑

摘要: Android系统特质不需要太多剩余内存,其实很多人都是把使用其他系统的习惯带过来来了。android大多应用没有退出的设计其实是有道理的,这和系统对进程的调度机制有关系。如果你知道java,就能更清楚这机制了。其实和java的垃圾回收机制类似,系统有一个规则来回收内存。进行内存调度有个阀值,只有低于这个值系统才会按一个列表来关闭用户不需要的东西。 当然这个值默认设置得很小,所以你会看到内存老在很少的数值徘徊。但事实上他并不影响速度。相反加快了下次启动应用的速度。这本来就是android标榜的优势之一,如果人为去关闭进程,没有太大必要。特别是自动关进程的软件。 到这里有人会说了,那为什么内.. 阅读全文

posted @ 2011-09-16 01:58 喜糖 阅读(389) 评论(0) 推荐(0) 编辑

2011年9月15日

摘要: 1 首先查看PATH 命令:$PATH 2 如何设置PATH 命令:echo "export PATH=xxxxxx:$PATH" >> ~/.bash_profile 解释:把"export PATH=xxxxxx:$PATH"输出打印到~/.bash_profile中去。3 Unix知识补充:~/.bash_profile介绍 mac和linux终端一般用bash来进行解析。当bash在读完了整体环境变量的/etc/profile并借此调用其他配置文件后,接下来则是会读取用户自定义的个人配置文件。bash读取的文件总共有三种: ~/.ba 阅读全文

posted @ 2011-09-15 19:48 喜糖 阅读(33508) 评论(0) 推荐(1) 编辑

摘要: 此前,我们对Activity进行了一些学习,在Android中,还提供了一个ActivityGroup类,该类是Activity的容器,可以包含多个嵌套进来的Activitys,我们接下来依然采用源码分析的方式来了解该类的内部实现。首先,从SDK中和源码中都可以获知,ActivityGroup类的父类是Activity,也就是说二者具有相同的接口和生命周期,同Activity一样,也有onCreate()、onPause()等函数可供我们重载。在ActivityGroup的源码中有成员变量protected LocalActivityManager mLocalActivityManager; 阅读全文

posted @ 2011-09-15 13:48 喜糖 阅读(754) 评论(0) 推荐(0) 编辑

摘要: 本文转自http://edu.gamfe.com/tutor/d/30512.htmlListView的Adapter的作用如下图所示:Adapter的作用就是ListView界面与数据之间的桥梁,当列表里的每一项显示到页面时,都会调用Adapter的getView方法返回一个View。想过没有? 在我们的列表有1000000项时会是什么样的?是不是会占用极大的系统资源?先看看下面的代码:publicView getView(intposition, View convertView, ViewGroup parent) {View item = mInflater.inflate(R.lay 阅读全文

posted @ 2011-09-15 12:21 喜糖 阅读(2255) 评论(1) 推荐(0) 编辑

2011年9月14日

摘要: 显示效果如下图: 更改TabHost标签的背景颜色。修改思路: 监听TabHost的onTabChanged方法。实现代码:package com.tony.tabstudy;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.TabHost;import android.widget.TabHost.OnTabChangeListener;import android.widget.TabWidget;public class TabStudyA 阅读全文

posted @ 2011-09-14 19:02 喜糖 阅读(10166) 评论(0) 推荐(1) 编辑

摘要: main.xml <?xml version="1.0" encoding="utf-8"?> <TabHost android:id="@+id/tabhost" xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height=& 阅读全文

posted @ 2011-09-14 17:56 喜糖 阅读(488) 评论(0) 推荐(0) 编辑

摘要: TabActivity首先Android里面有个名为TabActivity来给我们方便使用。其中有以下可以关注的函数:public TabHost getTabHost ()获得当前TabActivity的TabHostpublic TabWidget getTabWidget ()获得当前TabActivity的TabWidgetpublic void setDefaultTab (String tag)这两个函数很易懂,就是设置默认的Tabpublic void setDefaultTab (int index)通过tab名——tag或者index(从0开始)protected void 阅读全文

posted @ 2011-09-14 15:46 喜糖 阅读(255) 评论(0) 推荐(0) 编辑

摘要: 在自定义ListView FastScroller滑块图片中实现了快速滚动。在原有示例基础上增加了这样的功能:本文和上面示例借鉴了:http://blog.csdn.net/sodino/archive/2010/12/15/6077017.aspx做的比较简单。需要为ListView注册一个滚动监听器: overlay就为要显示的框,后面有介绍。listView.setOnScrollListener(new OnScrollListener() { boolean visible; @Override public void onScrollStateChanged(AbsListView 阅读全文

posted @ 2011-09-14 13:34 喜糖 阅读(651) 评论(0) 推荐(0) 编辑

摘要: 使用ListView FastScroller,默认滑块和自定义滑块图片的样子:设置快速滚动属性很容易,只需在布局的xml文件里设置属性即可:<ListView android:id=”@+id/listView” android:layout_width=”fill_parent”android:layout_height=”fill_parent”android:fastScrollEnabled=”true”android:focusable=”true”/>但是有时候会发现设置属性无效,滚动ListView并未出现滑块。原因是该属性生效有最小记录限制。当ListView记录 阅读全文

posted @ 2011-09-14 11:49 喜糖 阅读(3911) 评论(0) 推荐(0) 编辑

摘要: 针对BaseAdapter可以有一些扩展,比如在一行中加入几个元素如下图所示。为了完成上面的内容,需要在布局文件中加入一个布局文件R.layout.listview_item,这个布局文件中描述了要显示的内容。自定义MyAdapter来继承BaseAdapter。必须要覆写getCount() 和getView()方法。关键代码:public View getView(final int position, View convertView, ViewGroup parent) { //List中的一条数据 DataModel item; ... 阅读全文

posted @ 2011-09-14 00:42 喜糖 阅读(489) 评论(0) 推荐(0) 编辑

2011年9月12日

摘要: 详细介绍一下这几个方法中系统在做什么以及我们应该做什么: onCreate: 在这里创建界面 ,做一些数据 的初始化工作 onStart: 到这一步变成用户可见不可交互 的 onResume: 变成和用户可交互 的,(在activity 栈系统通过栈的方式管理这些个 Activity的最上面,运行完弹出栈,则回到上一个Activity) onPause: 到这一步是可见但不可交互 的,系统会停止动画 等消耗CPU 的事情 从上文的描述已经知道,应该在这里保存你的一些数据,因为这个时候 你的程序的优先级降低,有可能被系统收回。在这里保存的数据,应该在 onResume里读出来,注意:这个方法里. 阅读全文

posted @ 2011-09-12 23:05 喜糖 阅读(227) 评论(0) 推荐(0) 编辑

摘要: 今天跟朋友聊天,他做的是一款基于android平台的聊天类(IM)软件。在聊天过程中,我收获了许多,下面由此篇bolg分享给大家。1. 软件背景 这是一款运行在android平台上面的通讯软件。使用socket与服务器进行连接,进行通讯。当用户在打开网络连接的情况下,用户与已经注册该软件的人进行通讯,消息便会走网络进行通讯。条件不满足就会依循移动服务提供商的短信路线了。 剩下的功能可以参见腾讯的“微信”和小米的“米聊”。2. 技术架构 网络模块: 应用通过Socket与服务器进行连接。 DB模块: 数据中存储了玩家的明片信息。 UI模块:针对标准UI的扩展。3. 项目中遇到的问题 ... 阅读全文

posted @ 2011-09-12 20:45 喜糖 阅读(539) 评论(0) 推荐(0) 编辑

摘要: 1. 首选要学习调优工具。 1.1 DDMS 用来查看android的内存的堆栈情况的工具。 1.2 MONKEY 用来进行压力测试的工具。 1.3 TraceView 用来查找运行性能瓶颈的工具。 1.4 adb 与机器进行联调的工具。2. 调试思路 1.1 某些内容可以使用单例模式。 1.2 某些内容是否可以考虑对象池的概念。 在业务需求中需要大量查看玩家的数据,而这些页面又是非常相似的。是否可以对他们进行缓存,把他们放入到对象池中去。减少因为创建对象而损失的性能。 1.3 采用懒加载的机制。 一些不经常使用的数据是可以不用初始化的时候加载... 阅读全文

posted @ 2011-09-12 15:47 喜糖 阅读(1232) 评论(0) 推荐(0) 编辑

2011年9月9日

摘要: 参加文章:http://wenku.baidu.com/view/ea8272d284254b35eefd348a.html。写了activity,provider,service,received这四个组件针对进程间通讯的问题。 activity可以非常通畅的进程进程间通讯。 provider同上。 service中的参数借助了aidl。 阅读全文

posted @ 2011-09-09 01:53 喜糖 阅读(306) 评论(0) 推荐(0) 编辑

2011年9月3日

摘要: ADB是一个CS程序,其中客户端是你用来操作的电脑,服务器端是android设备。 设置adb的环境 在设备上上打开USB调试开关。 把SDK的安装路径的tool文件夹设置进环境变量中。 然后运行: adb devices就可以查看连接到电脑中的设备列表了。 这样,adb的环境就算设置完成了。 adb的常用命令介绍 1. 查看设备 adb dev... 阅读全文

posted @ 2011-09-03 12:30 喜糖 阅读(9943) 评论(0) 推荐(0) 编辑

2011年9月2日

摘要: 在实际开发中,开发android软件的过程需要不断进行测试。使用Junit测试框架,是正规android开发的必要条件。 第一步: 在Androidmanifest.xml中加入下面红色代码 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="cn.itcast.action“ ... 阅读全文

posted @ 2011-09-02 15:32 喜糖 阅读(235) 评论(0) 推荐(0) 编辑

摘要: 打开Android模拟器时,出现无信号,拔打电话或发短信时,提示“尚未注册网络”错误信息的解决方案如下。 l 场景一:你的电脑没有连接上互联网,同时也没有在局域网。 解决办法:右键点击网上邻居,选择"属性",在网络连接窗口中右键点击"本地连接",选择"属性",设置TCP/IP属性如下: IP地址:192.168.1.100 子网掩码:255.255.255.0 默认网关:192.16... 阅读全文

posted @ 2011-09-02 15:22 喜糖 阅读(2721) 评论(0) 推荐(0) 编辑

上一页 1 ··· 4 5 6 7 8 9 10 下一页