Android
文章平均质量分 75
taki_dsm
这个作者很懒,什么都没留下…
展开
-
Android 中 PopupWindow 响应返回键并关闭的问题
PopupWindow 跟我们的 Activity 不一样,因为我们在构造 PW 的时候往往不是继承来的,而是 new 出来的。所以不能使用重写 PW 的 onKeyDown() 之类的方法来截获键盘事件。好在 PW 本身的特性让我们很容易就能做到用返回键来退出,当然我们也可以截获键盘事件,这样就有两种方法了。最简单——在 new 的时候,使用下面的方法:转载 2012-08-01 13:20:18 · 1478 阅读 · 0 评论 -
Android消息队列及线程机制详解
Android Looper负责管理线程的消息队列和消息循环,具体实现请参考Looper的源码。可以通过Loop.myLooper()得到当前线程的Looper对象,通过Loop.getMainLooper()可以获得当前进程的主线程的 Looper对象。 Activity,Service属于主线程,在主线程中才能更新UI,如toast等。其他线程中不能直接使用,这时可以使用Han转载 2013-05-11 15:30:29 · 944 阅读 · 0 评论 -
java解析php函数json_encode unicode 编码问题
android开发中在和服务器端接口对接时出现编码问题,从服务器端获取到的数据是 "\u8bbe\u59071ID-\u8bbe\u59071\u540d\u79f0;\u8bbe\u59073id-\u8bbe\u59073\u540d\u79f0;\u8bbe\u59077id-\u8bbe\u59077\u540d\u79f0" 接口是通过php函数中json_encode进行编码后返回的,转载 2013-05-14 19:46:17 · 2705 阅读 · 0 评论 -
Gson简要使用笔记
gson和其他现有java json类库最大的不同时gson需要序列化得实体类不需要使用annotation来标识需要序列化得字段,同时gson又可以通过使用annotation来灵活配置需要序列化的字段。 下面是一个简单的例子: Person实体public class Person { private String name; private int ag原创 2013-07-08 18:27:06 · 634 阅读 · 0 评论 -
gson使用在android使用例子
虽然android自带了json处理,但是没有封装,总觉得不方便,网上找了gson的处理,觉得还行。Student.classpackage com.andtools;import com.google.gson.annotations.Expose;public class Student { @Expose private String studentName; @Exp转载 2013-07-08 18:50:59 · 807 阅读 · 0 评论 -
ListView通过自定义的Adapter实现异步下载显示网络图片
eoe先说一下思路,开始让一张放在res/drawable里的图片代替网络图片,加进ListItem,现在显示的就是本地图片,然后新开一个线程循环下载网络图片,每下完一张,替换原来显示的本地图片,更新ListView。刚开始做的时候,乱配器用的是SimpleAdapter,但是后来发现,SimpleAdapter只能加载事先放在res/drawable,不能加载Bitmap,或者是Draw转载 2013-07-13 00:50:39 · 1050 阅读 · 0 评论 -
Adapter相关资料
Adapter在Android中占据一个重要的角色,它是数据和UI(View)之间一个重要的纽带。在常见的View(ListView,GridView)等地方都需要用到Adapter。如图1直观的表达了Data、Adapter、View三者的关系。一、Android中Adapter由图2我们可以看到在Android中与Adapter有关的所有接口、类的完整层级图转载 2013-10-02 01:03:49 · 580 阅读 · 0 评论 -
Android中程序与Service交互的方式——综述
本文将通过三大部分来讲解Android中程序与Service的交互方式,这里说的交互方式指的是如何与Service进行消息的传递,比如:从Service中获取信息,向Service发送信息等等。举个简单的例子,当我们通过手中的Android设备在网络上下载电影的时候,我们需要使用Service实现在后台下载,但同时将下载进度通过当前的Activity来展示给用户,那么我们就需要和Service有一转载 2014-02-16 22:26:50 · 682 阅读 · 0 评论 -
Android中Bitmap和Drawable
一、相关概念1、Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable),我们根据画图的需求,创建相应的可画对象2、Canvas画布,绘图的目的区域,用于绘图3、Bitmap位图,用于图的处理4、Matrix矩阵二、Bitmap1、从资源中获转载 2014-03-08 11:36:46 · 645 阅读 · 0 评论 -
Android游戏开发----JNI小结
Android游戏开发必不可少是要接触JNI的,除非你什么只是写一些普通的小游戏。特别是用3D、OpenGL等时,JNI是基础。一、关于NDKNDK全称是(Native Development Kit),作用就是方便在Android中调用C、C++写的东西,因为C的效率高,底层的东西大都是用C写的。1、NDK是一系列工具的集合。* NDK提供了一转载 2014-03-08 12:46:07 · 644 阅读 · 0 评论 -
Android游戏开发---抗锯齿设置
新年新气象,发篇文章。祝看到文章的同志们新年快乐。抗锯齿在游戏中很重要。玩过大型游戏的同学肯定知道都有抗锯齿的设置。Android中也需要。出现锯齿条件:倾斜或旋转、快速变化。当在屏幕上画一条直线时, 横竖不会出现锯齿, 但是当斜着画时, 就会出现锯齿的效果。画笔的抗锯齿(用于线条等)设置:paint.setAntiAlias(true);图片线条(通用)的抗锯转载 2014-03-08 12:55:45 · 1007 阅读 · 0 评论 -
Android游戏开发----动画SurfaceView详解
SurfaceView在游戏开发中占着举足轻重的地位。今天好好找资料看了看。附带自己写的例子。 写变化不太快的画面时,用View就足够了,用View写太快的画面变化时,可能会出现屏幕闪烁。当写如像植物大战僵尸、水果忍者等游戏时,用View就不能满足要求了。Android提供了SurfaceView,它是专门用来做动画,它是View的子类。 在SurfaceView自带转载 2014-03-08 13:16:08 · 980 阅读 · 0 评论 -
Android开发中 页面加载超大图片时出现OOM
今天做项目,发现需要显示一张超大图片,处理过后,还有561Kb加载的时候,就crash --- OOMshortMsg:java.lang.OutOfMemoryErrorlongMsg:java.lang.OutOfMemoryError: bitmap size exceeds VM budgetstackTrace:java.lang.OutOfMemoryError转载 2014-03-13 21:48:16 · 762 阅读 · 0 评论 -
Android游戏开发基础part9--游戏数据存储
Android游戏开发基础part9--游戏数据存储在Android中,对于数据的存储,提供了4种保存方式:1.SharedPreference此方式适用于简单的数据的保存,文如其名,属于配置性质的保存,不适合数据比较大的情况,默认存放在手机内存里。2.FileInputStream/FileOutputStream此方式比较适合游戏的保存和使用,流文件存储转载 2014-03-08 12:15:52 · 931 阅读 · 1 评论 -
浅谈Android游戏开发基础和经验
Android游戏开发基础和经验是本文要介绍的内容,主要是来了解并学习Android游戏开发的内容实例,具体关于Android游戏开发内容的详解来看本文。做一个类似俄罗斯方块的android游戏开发,游戏完全又触屏来实现还有音乐播放等等一些基本的功能,游戏是基于 android sdk1.6完成。由于初识android,这个游戏也是本人第一个android游戏开发,所以还有很多不足,这里只转载 2014-03-08 13:02:51 · 3694 阅读 · 0 评论 -
Android游戏开发基础part7--碰撞检测
Android游戏开发基础--碰撞检测 在游戏当中碰撞无时不在,比如在射击游戏当中碰撞更是家常便饭,游戏主角在跟敌机发生碰撞,游戏主角跟敌机子弹发生碰撞,或者反过来敌机跟游戏主角发生碰撞,敌机更主角子弹发生碰撞等等。 一般我们都会有碰撞检测,发生碰撞时应该发生什么状况是我们需要设计的,比如主角的血量减少,或者敌机发生爆炸等等。只有通过碰撞的检测,我们才能进而触发相应的事件。转载 2014-03-08 12:35:14 · 771 阅读 · 0 评论 -
JSON字符串转换JAVA对象例子。
JsonTest:package com.demo.json;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import net.sf.json.JSONArray;import net.sf.json.JSONObject;impor翻译 2013-05-17 22:59:25 · 23899 阅读 · 0 评论 -
android的IntentService
不管是何种Service,它默认都是在应用程序的主线程(亦即UI线程)中运行的。所以,如果你的Service将要运行非常耗时或者可能被阻塞的操作时,你的应用程序将会被挂起,甚至会出现ANR错误。为了避免这一问题,你应该在Service中重新启动一个新的线程来进行这些操作。现有两种方法共大家参考:① 直接在Service的onStartCommand()方法中重启一个线程来执行,如:@O转载 2013-04-29 02:10:13 · 1115 阅读 · 0 评论 -
Service类onStartCommand()返回值讲解.
继承Service类来实现一个被启动类型的服务很简单,如果你需要服务执行多线程(而不是通过工作队列来处理启动请求),那么你就要继承Service类来处理每个Intent。 继承Service类,onStartCommand()执行后,业务代码马上同时执行,不像IntentService那样以队列排队执行。 但是,因为你自己处理每个onStartCommand()方法的调用,你就能够原创 2013-04-29 02:01:23 · 22539 阅读 · 0 评论 -
Android游戏开发起步(译文)
英文 http://dev.chinamobile.com/cmdn/bbs/thread-13718-1-1.html如果你有兴趣为Android平台开发游戏,有很多你需要了解的东西。我是Light Racer,Light Racer 3D以及Wixel的开发者,这些游戏目前在Android Market上有售。我以前也开发过游戏,但Light Racer是我的第一个Android应用程序,翻译 2012-08-02 17:52:18 · 481 阅读 · 0 评论 -
Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面
概述:每个Android应用程序都运行在一个dalvik虚拟机进程中,进程开始的时候会启动一个主线程(MainThread),主线程负责处理和ui相关的事件,因此主线程通常又叫UI线程。而由于Android采用UI单线程模型,所以只能在主线程中对UI元素进行操作。如果在非UI线程直接对UI进行了操作,则会报错:CalledFromWrongThreadException:only the or转载 2012-07-20 13:41:45 · 508 阅读 · 0 评论 -
Android异步处理系列文章索引
本博文地址:http://blog.csdn.net/mylzc/article/details/6777767为了给用户带来良好的交互体验,在Android应用的开发过程中需要把繁重的任务(IO,网络连接等)放到其他线程中异步执行,达到不阻塞UI的效果。本系列文章由浅入深介绍Android进行异步处理的实现方法和系统底层的实现原理。Android异步处理一:使用Threa转载 2012-07-20 13:45:36 · 372 阅读 · 0 评论 -
编写高效的android代码(译文)
无论怎样,基于android的设备也是嵌入式设备。现代的手持设备,与其说是电话,更像一台拿在手中的电脑。但是,即使是“最快”的手持设备,其性能也达不到一台普通的台式电脑。这就是为什么我们在书写Android应用程序的时候要格外关注效率。这些设备并没有那么快,并且受电池电量的制约。这意味着,设备没有更多的能力,我们必须把程序写的尽量有效。本文讨论了很多能让开发者使他们的程序运行更有效翻译 2012-07-24 18:02:35 · 638 阅读 · 0 评论 -
ListView下拉刷新
Android的ListView是应用最广的一个组件,功能强大,扩展性灵活(不局限于ListView本身一个类),前面的文章有介绍分组,拖拽,3D立体,游标,圆角,而今天我们要介绍的是另外一个扩展ListView:下拉刷新的ListView。下拉刷新界面最初流行于iphone应用界面,如图:1. 流程分析 下拉刷新最主要的流程是: (1). 下拉,显示提示头部界转载 2012-08-09 11:46:58 · 1013 阅读 · 0 评论 -
Android-Sqlite数据库的分页显示。
所谓数据库的分页显示,必须先要有一个数据库,先创建一个数据库。我这里用的是继承SQLiteOpenHelper的方法。具体如下:package com.android.database; import android.content.ContentValues; import android.content.Context; import android.database.sq转载 2012-07-25 15:45:09 · 4614 阅读 · 1 评论 -
Android中实现滑动翻页—使用ViewFlipper(dp和px之间进行转换)
Android中dp和px之间进行转换 在xml布局文件中,我们既可以设置px,也可以设置dp(或者dip)。一般情况下,我们都会选择使用dp,这样可以保证不同屏幕分辨率的机器上布局一致。但是在代码中,如何处理呢?很多控件的方法中都只提供了设置px的方法,例如setPadding,并没有提供设置dp的方法。这个时候,如果需要设置dp的话,就要将dp转换成px了。以下是一个应用类,方便进转载 2012-08-10 17:01:16 · 2685 阅读 · 0 评论 -
android 与服务器交互
服务器端代码:testServlet.javapackage com.liuxiang;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletReq转载 2012-08-13 11:02:57 · 5521 阅读 · 1 评论 -
Android中Popupwindow的用法
由于系统自带的Menu不好看 而且不能自己改样式所以很多应用都用Popupwindow自定义了最精典的莫过于UC和天天的Menu鸟网上有模仿UCweb的自定义menu的源码,下面是三个比较经典的文章:Android提高十八篇之自定义Menu(TabMenu)【源码发布】仿UCWEB7.4界面最新Menu菜单 源码放出~!模仿UCweb菜单这三个都是使用PopupWind转载 2012-07-31 17:05:19 · 3685 阅读 · 0 评论 -
Android Dialog大全
1.该效果是当按返回按钮时弹出一个提示,来确保无误操作,采用常见的对话框样式。protected void showMyDialog() { AlertDialog.Builder builder = new Builder(SmsListActivity.this); builder.setMessage("确认退出吗?"); builder.setTitle("提示")转载 2012-07-31 16:04:09 · 1016 阅读 · 0 评论 -
Android的log保存到文件上查看
在调试的时候一般都是在logcat中看日志的信息,以便找出BUG和调试信息,但是如果在真机上的话不可能一直连接电脑查看日志,所以生成日志文件并保存,是一个比较普遍的需求,下面就是最近实现的一个例子。欢迎大家讨论并给出别的思路。 import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream转载 2012-07-31 10:59:31 · 21394 阅读 · 4 评论 -
android之PopUpWindow使用实例
最终效果图:布局文件:activty_main.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fi转载 2012-08-01 10:11:06 · 1330 阅读 · 0 评论 -
Android http get/post传递参数
本程序介绍如何通过HttpClient模块来创建Http连接,并分别以Http Get和Post方法传递参数,连接之后取回web server的返回网页结果。 注意,在用Post时,传递变量必须用NameValuePais[]数组存储,通过HttpRequest.setEntity()方法来发出http请求。 此外,也必须通过DefaultHttpClient().exec转载 2013-03-07 18:00:28 · 838 阅读 · 0 评论 -
httpclient4.2.1最新版连接池配置
/** * 适合多线程的HttpClient,用httpClient4.2.1实现 * @return DefaultHttpClient */ public static DefaultHttpClient getHttpClient() { // 设置组件参数, HTTP协议的版本,1.1/1.0/0.9 HttpParams params = new原创 2013-03-16 01:01:21 · 17238 阅读 · 1 评论 -
Android网络连接判断与处理
获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。 1)判断是否有网络连接public boolean isNetworkConnected(Context context) { if (context != null) { ConnectivityManager mConnectivityManager = (C转载 2013-04-03 23:04:56 · 762 阅读 · 0 评论 -
如何从网络获取图片显示并保存到SD卡里
public class GetPictureFromInternetActivity extends Activity{ private ImageView imageView; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(转载 2013-04-08 23:39:14 · 1503 阅读 · 0 评论 -
【转】Android Out Of Memory(OOM)的详细研究
Android Out Of Memory(OOM) 的詳細研究基於Android開發應用時,可能會挺時常出現Out Of Memory 異常.在Android中,一個Process 只能使用16M記憶體,要是超過了這個限定就會跳出這個異常。這樣就要求我們要時刻想著開釋資源。Java的回收工作是交給GC的,如何讓GC能即時的回收已經不是用的物件,這個裏面有許多技巧,各人可以google转载 2014-03-13 21:43:17 · 1490 阅读 · 2 评论