![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
Benwei666
一个开发,一个创业者
展开
-
Cordova探索之旅系列(一)
最早接触PhoneGap平台是在1年多之前,能够使用HTML、CSS和JavaScript跨平台来编写Android或者IOS设备程序,并且应用的核心代码不需要多少修改就可以移植,确实让我感觉的到它应该是未来移动设备开发的趋势。Web程序员,特别是前端程序员,能够轻松的通过Web技术来编写移动设备软件。但是当时给我带来的感觉是应用的响应速度太慢,提供的API不全,能够实现的功能不多。Pho原创 2014-12-21 14:41:18 · 2884 阅读 · 0 评论 -
关于eclipse的 error generating final archive这个错误你是怎么解决得啊
转自:http://zhidao.baidu.com/question/286111113.html原因分析:android要求所有的程序必须有签名,否则就不会安装该程序。在我们开发过程中,adt使用debug keystore,在 preference->android->buid中设置。debug的keystore默认有效期为一年,如果你是从一年前开始完android程序,那么在一年后转载 2012-02-26 18:38:03 · 1271 阅读 · 0 评论 -
ERROR: Unknown command 'crunch'
转自:http://hi.baidu.com/51buyhost/blog/item/c960ffca17c97c03bf09e633.html最近android developer官网给出了ADT 14的升级包,很多朋友选择了升级,然后在开发的时候,编译工程出现了下面的错误提示 android ERROR:Unknown option '--no-crunch' Androi转载 2012-02-26 17:20:09 · 1386 阅读 · 0 评论 -
Service生命周期的学习
有两个方法使用service。方法1是使用Context.startService()会启动service,如果service没有创建,首先会调用onCreate()方法,然后调用onStartCommand(Intent,int,int)方法,service会一直存在直到stopService()或stopSelf()调用。方法2是使用Context.bindService(),如果se原创 2011-12-29 18:58:19 · 1586 阅读 · 0 评论 -
Activity的生命周期学习
public class Activity extends ApplicationContext { protected void onCreate(Bundle savedInstanceState); protected void onStart(); protected void onRestart(); protected void原创 2011-12-21 20:56:51 · 1024 阅读 · 0 评论 -
Google开源项目ZXing(二维条码编解码)简单使用(Java版)
http://code.google.com/p/zxing/ZXing (pronounced "zebra crossing") is an open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. Our fo原创 2011-12-14 10:30:35 · 59402 阅读 · 13 评论 -
Android.app.SuperNotCalledException
超类中方法没有调用。当复写了Activity中的on系列函数时,会有一个super.onXXX函数被调用。如果你删除了它,就有可能造成这个错误。例如:@Override protected void onDestroy() { }正确的是:@Override protected void onDestroy() { super.onDestroy(); }原创 2011-12-22 17:03:01 · 3579 阅读 · 0 评论 -
Android 彻底关闭应用程序 返回键的捕获
在开发android应用时,常常通过按返回键(即keyCode == KeyEvent.KEYCODE_BACK)就能关闭程序,其实大多情况下该应用还在任务里运行着,其实这不是我们想要的结果。我们可以这样做,当用户点击自定义的退出按钮或返回键时(需要捕获动作),我们在onDestroy()里强制退出应用,或直接杀死进程,具体操作代码如下:@Override public boo转载 2011-12-21 19:04:57 · 1267 阅读 · 0 评论 -
Android Custom Dialog错误Unable to add window -- token null is not for an application
转载自:http://hi.baidu.com/luoziding/blog/item/739388c97b73c1e153664f6b.html按照Android手册上的自定义Dialog章节学习使用自定义Dialog是出现如下错误:android.view.WindowManager$BadTokenException: Unableto add window--tokenn转载 2011-12-10 12:44:46 · 2405 阅读 · 0 评论 -
Android对象序列化(Activity之间传递对象,Parcelable小例子)
Android中为了能够在Activity之间传递值,需要只用Intent中的put函数。其中bundle.putParcelable可以实现传递对象,但是这个对象的类必须实现Parcelable接口才能够使用。下面是一个简单的在Activity之间传递对象的例子。Parcelable类。最主要的类,也就是我们要传送的对象的类,需要实现Parcelable接口。pa原创 2011-12-04 21:36:20 · 12124 阅读 · 0 评论 -
(Android)JavaSocket编程,文件上传到服务器,客户端Android,服务器端J2SE
SD卡中有encrypt.png文件在E盘可以看到,从模拟器SD卡中发送来的文件服务器端代码,我这里是使用CMD命令演示的。服务端等待客户端连接,然后接收客户端的数据。包括文件名,大小,和文件数据。import java.io.BufferedInputStream;import java.io.BufferedOutputStream;impo原创 2011-11-30 19:21:55 · 7503 阅读 · 15 评论 -
Android的SD卡文件读写
使用右上角的两个按钮可以将文件从模拟器中导出和导入程序运行的结果运行之后,文件浏览器中的delete被删除了。FileHelper.java是文件的帮助类,完成文件创建、删除、读。package com.zeph.android.fileoperate;import java.io.File;import java.io.FileInput原创 2011-11-24 14:30:10 · 3462 阅读 · 1 评论 -
Android短消息推送启动应用程序(SMS PUSH)(BroadCastReceiver)
程序通过BroadCastReceiver监听短消息,并判断短信的号码,当满足预设号码时,启动一个Activity。SmsReceiverActivity.javapackage com.zeph.android.sms.receiver;import android.app.Activity;import android.content.Intent;import原创 2011-11-22 15:59:38 · 5511 阅读 · 5 评论 -
Android实现简单拍照(使用摄像头)
由于左边的部分是摄像头拍摄的内容,所以截图软件获取不到内容,测试手机小米(Mi One Plus)截图缩小:补充一点:拍照得到的图像的大小(Size)是可以设置的,只不过在我这个程序里面使用是默认的大小。设置方法是:获得摄像头支持的大小ListList sizes = myCamera.getPArameters().getSupportedPictureSizes原创 2012-03-06 23:38:24 · 5100 阅读 · 2 评论 -
Android中Task、Activity、BackStack(栈)的关系
http://developer.android.com/guide/topics/fundamentals/tasks-and-back-stack.html An application usually containsmultiple activities.Eac翻译 2012-05-29 21:11:39 · 5747 阅读 · 3 评论 -
Cordova探索之旅系列(三)
自从3.0之后,Cordova默认是关闭所有关于设备原生特性功能的,所以我们要通过添加插件来启动原生特性。这里以Accelerometer(加速度感应器)为例,来学习如何使用设备原生特性。1.添加插件首先,需要在工程目录下,通过CLI命令添加插件。1cordova plugin add org.apache.cordova.device-motio原创 2014-12-21 14:45:52 · 3012 阅读 · 0 评论 -
Cordova探索之旅系列(二)
在Cordova中有一个很重要的概念:插件。插件会提供访问Cordova核心API的接口。插件是一些附加的代码,它能够提供访问原生组件的接口。一般情况下,你都需要添加一些插件以启动Cordova设备级别的特性。插件由官方和社区提供,可以在plugins.cordova.io上找到,当然还可以在命令行中去搜索插件。从3.0之后,Cordova将所有设备的API都作为插原创 2014-12-21 14:44:50 · 2819 阅读 · 0 评论 -
Android敏捷开发指南(转)
转载自:http://www.alibuybuy.com/posts/76975.html#jtss-tsina本文紧密结合移动开发方法与技术,围绕Android平台的开发探讨提供更高质量移动产品的解决方案。作者中分析了移动开发中常见的问题,从两方面阐述了ThoughtWorks使用的测试开发方案和相应的架构方法与常用工具应用,并进一步阐述了为移动开发流程所提供的持续发布方案。随着转载 2013-01-16 16:47:06 · 2206 阅读 · 0 评论 -
wifi和GPRS下获取android的IP信息
1.使用WIFI首先设置用户权限其次,代码如下public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //获取wifi服务转载 2012-09-15 21:10:18 · 2169 阅读 · 0 评论 -
单线程模型中Message、Handler、Message Queue、Looper之间的关系
简单的说,Handler获取当前线程中的looper对象,looper用来从存放Message的MessageQueue中取出Message,再有Handler进行Message的分发和处理. Message Queue(消息队列):用来存放通过Handler发布的消息,通常附属于某一个创建它的线程,可以通过Looper.myQueue()得到当前线程的消息队列. Handler:可以发布转载 2012-08-23 14:41:19 · 1574 阅读 · 1 评论 -
基于栈和基于寄存器的Java虚拟机(JVM和Dalvik)
基于栈和基于寄存器的虚拟机区别:存放操作数的位置(操作数栈/寄存器)----操作数栈即求值栈JVM通常将操作数栈放到方法调用栈帧,Dalvik则将部分操作数放入虚拟寄存器。字节码只能看到操作数栈/虚拟寄存器,局部变量和参数,这三者都是平台无关的。字节码能够操纵局部变量、参数在操作数栈/寄存器中完成各种运算。经过javac编译以后,字节码就知道局部变量、参数和操作数栈/寄存器的类型和转载 2012-08-22 20:44:31 · 2640 阅读 · 0 评论 -
AsyncTask
原文地址:http://developer.android.com/reference/android/os/AsyncTask.htmlAsyncTask enables proper and easy use ofthe UI thread. This class allows to perform background operations and publishresults on t翻译 2012-07-31 15:21:55 · 998 阅读 · 0 评论 -
Android中AsyncTask的简单用法
转载自:http://blog.csdn.net/cjjky/article/details/6684959在开发Android移动客户端的时候往往要使用多线程来进行操作,我们通常会将耗时的操作放在单独的线程执行,避免其占用主线程而给用户带来不好的用户体验。但是在子线程中无法去操作主线程(UI 线程),在子线程中操作UI线程会出现错误。因此android提供了一个类Handle转载 2012-07-30 16:03:17 · 1113 阅读 · 0 评论 -
总结Content Provider的使用
转自:http://www.eoeandroid.com/thread-29089-1-1.htmlAndroid中的Content provider机制可支持在多个应用中存储和读取数据。这也是跨应用共享数据的唯一方式。在android系统中,没有一个公共的内存区域,供多个应用共享存储数据。Android提供了一些主要数据类型的Content provider,比如音频、视频、图片转载 2012-06-03 20:22:08 · 1044 阅读 · 0 评论 -
onSaveInstanceState
http://developer.android.com/reference/android/app/Activity.html#onCreate(android.os.Bundle)Called to retrieve per-instance state froman activity before being killed so that the state can be r翻译 2012-06-03 14:55:42 · 1132 阅读 · 0 评论 -
IntentService(Extending the IntentService class)
http://developer.android.com/guide/topics/fundamentals/services.htmlExtendingthe IntentService classBecause most started services don't need tohandle multiple requests simultaneously (which can翻译 2012-06-02 21:29:49 · 974 阅读 · 0 评论 -
关于Handler处理UI线程的更新及Handler译文
Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。Android利用Handler来实现UI线程的更新的。Handler是Android中的消息发送器,其在哪个Activity中创建就属于且紧紧属于该Activity。还可以说其在哪个线程中new的,就是那个线程的Handler。Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI.原创 2011-08-28 21:17:04 · 1390 阅读 · 0 评论 -
Android读取SIM卡信息
package com.zeph.android.sim;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import android.app.ListActivity;import an原创 2011-11-22 20:31:35 · 3073 阅读 · 1 评论 -
Android获取本机号码、IMEI等
SIM卡存储的数据可分为四类:第一类是固定存放的数据。这类数据在移动电话机被出售之前由SIM卡中心写入,包括国际移动用户识别号(IMSI)、鉴权密钥(KI)、鉴权和加密算法等等。第二类是暂时存放的有关网络的数据。如位置区域识别码(LAI)、移动用户暂时识别码(TMSI)、禁止接入的公共电话网代码等。第三类是相关的业务代码,如个人识别码(PIN)、解锁码(PUK)、计费费率等。第四类转载 2011-11-22 18:48:24 · 5062 阅读 · 0 评论 -
XmlSerializer写XML
private String writeXml() { XmlSerializer serializer = Xml.newSerializer(); StringWriter writer = new StringWriter(); try { ser原创 2011-09-03 21:09:41 · 978 阅读 · 0 评论 -
BroadCastReceiver 静态动态注册
res/layout/main.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" androi原创 2011-09-02 21:13:28 · 2634 阅读 · 0 评论 -
XML解析(RSS阅读器)
例子中使用的种子是:http://news.163.com/special/00011K6L/rss_newstop.xml一定要记得在Manifest里面加入Internet访问的允许 XMLParseActivity.javapackage com.zep原创 2011-09-03 16:44:30 · 2839 阅读 · 2 评论 -
relativelayout和spinner 详解
先看程序效果(图):图一 图二 两个布局文件main.xml 和 anotheractivity.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/andr原创 2011-08-04 01:47:37 · 1247 阅读 · 0 评论 -
Gallery Tutorials 详解
使用Google官方的例子程序效果(图): main.xml<!-- Gallery 是一种布局小工具Widget,用来以水平滚动列表的方式显示你的每一项内容 并把你当前的选择放在整个视图的中间 --><Gallery xmlns:android原创 2011-08-03 19:33:15 · 1431 阅读 · 0 评论 -
使用Service播放音乐
res/layout/main.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" and原创 2011-08-31 21:49:32 · 1587 阅读 · 0 评论 -
基于GridView的程序菜单
res/layout/main.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent"原创 2011-08-31 20:15:25 · 2574 阅读 · 0 评论 -
设置Android程序全屏
在setContentView(R.layout.main)之前加入两段代码requestWindowFeature(Window.FEATURE_NO_TITLE);getWindow().setFlags(WindowManager.LayoutParams.FLAG原创 2011-08-02 15:22:42 · 949 阅读 · 0 评论 -
GridView Tutorials 详解
详解Google官方的GridView的例子程序效果(图):main.xml<!-- android:columnWidth 定义网格中一列的固定宽度 android:numColumns 定义有多少列显示,auto_fit 表示尽可能的填满整个可用原创 2011-08-02 18:40:51 · 1331 阅读 · 0 评论 -
如何解决:ERROR: the user data image is used by another emulator. aborting 的问题
问题概述:在启动Android模拟器时出现以下错误,导致启动失败。ERROR: the user data image is used by another emulator. aborting。 原因:系统判断你当前已经启动了另外一个emulator,可能是某些正常操作或异常退转载 2011-07-15 15:30:24 · 1012 阅读 · 0 评论 -
Google官方的ListView Tutorial
建立一个XML文件list_item.xml ,放在layout文件夹<TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="f原创 2011-07-08 14:05:53 · 1600 阅读 · 0 评论