Android开发
Android开发
yuanlong_zheng
这个作者很懒,什么都没留下…
展开
-
使用JNI,在java端调用c/c++
摘自:Android.NDK.Beginners.Guide. 第3章:Interfacing Java and c/c++ with JNIAndroid离不开Java。虽然它的内核与关键库都是本地的,但应用程序框架差不多完全采用java或者说是仅封装在一个java层中。显然,有些库是可以直接从本地代码中访问,比如Open GL(第6章会讲述)。然面,大多数API只能从java端调用。不要期原创 2012-05-09 09:56:38 · 1238 阅读 · 0 评论 -
NDK工程的创建、编译、打包
Step1:新建一个Android工程:MyJniHelloStep2:编译写java调用接口,加载库。内容如下:import android.app.Activity;import android.os.Bundle;public class MyJniHelloActivity extends Activity { @Override public原创 2012-05-09 08:51:52 · 1949 阅读 · 0 评论 -
Java_call_C(双向传递JAVA对象)
在上一篇,我们知道在JNI中一个jstring就代表一个String,并且事实上是一个java对象,也就是说经由JNI来传递java对象是完全可能的。但因为本地代码不能直接存取Java,所有Java对象都有一个共同的代表(表示方式):一个 jobject。在本节中,我们将传递一个自定义的颜色对象(当然其它对象也同理可以)。主要在于如何保存一个对象在本地端,以及如何将其传回java端。本文将在上原创 2012-05-09 14:55:29 · 2669 阅读 · 0 评论 -
JNI和NDK的区别
[转自:http://blog.csdn.net/sunboy_2050/article/details/6828830]NDK(Native Development Kit)“原生”也就是二进制android常用的开发方式是java封装的库,而这些库的底层实现是由C/C++实现,如媒体,图形库等java调用这样实现就需要用JNI(Java Native Interfa转载 2012-05-08 21:49:48 · 553 阅读 · 0 评论 -
Java_call_C(从本地端抛出异常)
本文将实现从C/C++代码中抛出异常,并在JAVA端处理。三个异常:值类型错误异常,键值不存在异常,存储满异常。1.在java端新建异常包,并编写异常类:com.packtpub.exception,中添加如下三个相应的异常类文件package com.packtpub.exception;public class InvalidTypeException extend原创 2012-05-09 15:58:59 · 2653 阅读 · 0 评论 -
Java_call_C(双向传递基本类型)
摘自:NBG(ndk.beginners.guide)第3章本节将通过一个小实例,实现java与C,通过JNI来相互传递基本类型(int , String)。例子界面如下:在界面输入“键”,‘‘值’’,再选择“类型”,“设置键值”即可将java端数据存入本地数组中。通过输入“键”,选择“类型”,再“获取值”,即可从java端将本地数据取回。原书所述程序结构图如下:原创 2012-05-09 13:36:25 · 2349 阅读 · 1 评论 -
Android权限之sharedUserId、签名(实例说明)
1. 概述:权限sharedUserId 与 LOCAL_CERTIFICATE ,在某些时候(较少)需要搭配使用。但若搭配错误,将带来令人费解的错误。sharedUserId:来自于 manifest.xml;[用来限定在某种权限(通过LOCAL_CERTIFICATE来指定)下,某些应用可以共同运行于某一进程(通过sharedUserId来配置或指定)]LOCAL_转载 2012-03-09 21:21:26 · 14767 阅读 · 1 评论 -
Android 如何清空 Canvas ?(找了好久的答案)
Android 如何清空 Canvas ?似乎一直未找到好的解决办法,有的方法限制使用纯色背景,但无论怎么尝试,都未见效果,终于在 http://stackoverflow.com/questions/4650755/clearing-canvas-with-canvas-drawcolor 上面找到了答案:经过尝试,结果如下: 之前的不理想图片原创 2012-05-22 20:55:03 · 47214 阅读 · 15 评论 -
SystemProperties_SOP
属性系统是android的一个重要特性。它作为一个服务运行,管理系统配置和状态。所有这些配置和状态都是属性。每个属性是一个键值对(key/value pair),其类型都是字符串。首先:在android中设置这一属性,目的是定义一些属性供其它应用或库读取使用。如何读取/设置属性 Android上有三种主要途径来get/set属性。1、 native原创 2012-05-12 16:23:35 · 848 阅读 · 0 评论 -
Activity-onSaveInstanceState()、onRestoreInstanceState() 分析
onSaveInstanceState和onRestoreInstanceState 一、概述 本文转述并验证了这对长期具有神秘色彩的方法onSaveInstanceState和onRestoreInstanceState。 二、要点 1.此二者有什么作用? 2.onSaveInstanceState调用时机原创 2012-02-08 11:58:57 · 1080 阅读 · 0 评论 -
Android之Layout资源文件
我们这次深入分析Android应用程序的布局文件,主要内容如下:1、用户界面及视图层次2、Android中布局定义方法3、编写XML布局文件及加载XML资源4、常用布局文件中元素的属性4.1、ID属性4.2、布局参数5、布局位置&大小&补距&边距6、又是“Hello World!”6.1、又是“Hello World!”(一)6.转载 2012-04-05 12:48:29 · 1832 阅读 · 0 评论 -
Android之view的几种布局方式及实践
View的几种布局显示方法,以后就不会在针对布局方面做过多的介绍。View的布局显示方式有下面几种:线性布局(Linear Layout)、相对布局(Relative Layout)、表格布局(Table Layout)、网格视图(Grid View)、标签布局(Tab Layout)、列表视图(List View)、绝对布局(AbsoluteLayout)。本文虽然是介绍View的布局方式,转载 2012-04-05 12:50:03 · 579 阅读 · 0 评论 -
Android Layout XML属性
[转自:http://www.cnblogs.com/playing/archive/2011/04/07/2008620.html]Layout对于迅速的搭建界面和提高界面在不同分辨率的屏幕上的适应性具有很大的作用。这里简要介绍Android的Layout和研究一下它的实现。Android有Layout:FrameLayout,LinearLayout,TableLa转载 2012-04-05 12:51:20 · 461 阅读 · 0 评论 -
Android NDK开发环境搭建(Windows xp ,7平台)
[转自:http://blog.csdn.net/kwiner/article/details/6250021]步骤一:下载并安装NDK首先,前往从网站http://developer.android.com/sdk/ndk/index.html 获取Windows 平台的最新的Android NDK 套件,下载完成会得到一个安装文件,下载页面如下图所示,请下载红色方框框出的文件:转载 2012-03-16 13:44:26 · 885 阅读 · 0 评论 -
【Android】状态栏通知Notification、NotificationManager详解
【Android】状态栏通知Notification、NotificationManager详解http://blog.csdn.net/feng88724/article/details/6259071写得很详尽了。转载 2012-05-03 15:55:28 · 563 阅读 · 0 评论 -
初见gdb
最近用惯了JAVA的“强大”的“toString( )”方法,因为开始要接触NDK,在C里面打Log确实让我着急了一番。好怀念:Log.i(TAG, "this is " + int + float + double + boolean + ..... + son of Object + grand son of Object + .....);一看C,想这样偷懒,太不容易了。。。万般不爽原创 2012-05-07 21:56:56 · 613 阅读 · 0 评论 -
android click 和onTouch 事件处理机制
针对屏幕上的一个View控件,Android如何区分应当触发onTouchEvent,还是onClick,亦或是onLongClick事件?在Android中,一次用户操作可以被不同的View按次序分别处理,并将完全响应了用户一次UI操作称之为消费了该事件(consume),那么Android是按什么次序将事件传递的呢?又在什么情况下判定为消费了该事件? 搞清楚这转载 2012-05-22 13:49:18 · 1095 阅读 · 0 评论 -
Android中xml文件解析 SAX方式 与 PULL方式
下文写得很清楚了,就直接转了。Android中使用SAX方式解析XML文件http://blog.csdn.net/cjjky/article/details/6666834Android中使用PULL方式解析XML文件http://blog.csdn.net/cjjky/article/details/6667744转载 2012-07-09 11:17:09 · 692 阅读 · 0 评论 -
Activity-完整体验生命周期[已验证]
完整体验生命周期[转自:http://android.blog.51cto.com/268543/322518,并作适当增删] Activities是由Activity stack管理的。当一个新的Activity被启动,它就会处于stack的top位置,成为当前运行的Activity。而前一个Activity依然保留在stack里面,当需要调用这个Activit转载 2012-02-07 15:38:11 · 546 阅读 · 0 评论 -
Android之Adapter的使用合集
[转载自:http://www.cnblogs.com/devinzhang/archive/2012/01/20/2328334.html]1.概念 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带。在常见的View(ListView,GridView)等地方都需要用到Adapter。如下图直观的表达了Data、Adap转载 2012-03-14 11:18:09 · 732 阅读 · 0 评论 -
Android消息处理-概念普及篇
一、Android消息处理-概念普及篇1.概述 本文将介绍Android消息处理涉及的相关概念,并较深入地阐述了这些事物之间的关系。 2.要点 A。基本概念普及 B。深入解析消息处理 3. 概念普及 3.1 Android应用程序与进程 当一个程序第一次启动的时候,Android转载 2012-02-07 11:06:04 · 474 阅读 · 0 评论 -
Android消息处理-源码分析篇
AndroidLooper和Handler分析 第一次接触android应用程序(这里指的是JAVA层的UI程序,也难怪了,Google放出的API就只支持JAVA应用程序了),很难搞明白内部是如何实现的。但是,从原理上分析,应该是有一个消息循环,一个消息队列,然后主线程不断得从消息队列中取得消息并处理之。然而,google封装得太厉害了,所以一时半会还是搞不清楚到底是怎么做的。本文将转载 2012-02-07 11:13:51 · 498 阅读 · 0 评论 -
Activity-应用收集
Activity-应用收集[转自:http://android.blog.51cto.com/268543/323982,并适当整理]一、概述本文将收录一些常用的Activity使用方法。二、要点1.Activity间切换2.Activity间传值3.Activity中BACK返回值4.Activity中传递数据5.待添加。。。6.7.转载 2012-02-07 15:53:45 · 349 阅读 · 0 评论 -
Intents and Intent Filters-原文[译]
意图和意图过滤器Intents and Intent Filters [转自:http://blog.csdn.net/iefreer/article/details/4456376]一个应用程序的三个核心组件-活动,服务和广播接收器是通过消息即意图(Intents)来激活的。Intent消息传送是相同或不同应用中组件运行时晚绑定的一种机制。意图本身,一个意图对象,是一个包含被执行转载 2012-02-07 17:04:40 · 528 阅读 · 0 评论 -
Content Providers-原文[译]
内容提供器Content Providers内容提供器用来存放和获取数据并使这些数据可以被所有的应用程序访问。它们是应用程序之间共享数据的唯一方法;不存在所有Android软件包都能访问的公共储存区域。Android为常见数据类型(音频,视频,图像,个人联系人信息,等等)装载了很多内容提供器。你可以看到在android.provider包里列举了一些。你还能查询这些提供器包含了什么数据(尽转载 2012-02-07 17:07:46 · 488 阅读 · 0 评论 -
Data Storage-原文[译]
数据存储Data Storage概览Storage quickview² 系统偏好:快速,轻量级存储² 文件:存储到设备内部或可移动闪存² 数据库:任意的结构化存储² 支持基于网络的存储一个典型的桌面操作系统提供了一个通用文件系统使得任何应用程序能够使用它来存储文件,这些文件可以被其它应用程序读取(可能有访问权限的设置)。Android使用一个不同的系统:在转载 2012-02-07 17:06:29 · 682 阅读 · 0 评论 -
Android消息处理-应用参考篇
二、Android消息处理-应用参考篇 1.概述 本文收集了常见的消息处理方式。 2.要点 A。子线程更新UI的常错 B。Handler应用实例 C。AsyncTask应用实例 3. 正文3.1 子线程更新UI(一个初学者常犯的错误) 如果你的程序需要执行耗时的操作的话,需要在on转载 2012-02-07 11:12:01 · 488 阅读 · 0 评论 -
Activity-原文
Activity 原文翻译 一、定义: 活动是一个用户操作的、单独的、获得焦点的东西。 二、要点:1.概述2.生命周期3.配置变化4.启动活动与获取结果5.保存永久状态6.权限7.进程生命周期 三、正文: 1. 概述 活动是一个用户操作的、单独的、获得焦点的东西。差不多所有的活动都与用户交互,因此翻译 2012-02-07 14:55:51 · 507 阅读 · 0 评论 -
Android基础知识
Android基础知识一、概述本文将收集Android开发中的一些基础知识,不断更新中。。。二、要点1.应用程序基础关键类(A、B、C、D、I、S)2.manifest文件3.Intent过滤器4.Activity与任务5.Affinity与新任务6.加载模式的差异(缺各模式定义)7.清理堆栈8.启动任务9.进程与线程转载 2012-02-07 17:49:35 · 666 阅读 · 0 评论 -
Activity-四种异步操作UI界面的方法
[转自:http://www.cnblogs.com/zhangkai281/archive/2011/08/08/2130775.html]对于Android 异步操作在应用中使用率非常高,使用是开户另一线程,主线程(UI)不能长时间等待,而其它线程中是不能操作UI的,方法1:Handler子线程调用Handler的sendMessage(message)发送事转载 2012-02-07 16:11:01 · 837 阅读 · 0 评论 -
尺寸(Dimension)
原文:file:///D:/AndroidDevelop/android-sdk/docs/guide/topics/resources/more-resources.html#Dimension尺寸:dp:密度无关象素-一个基于屏幕物理密度的抽象单位。这些单位都是相对于一个160dpi(点每英寸)的屏幕而言。因此,不论屏幕密度是多少,160dp就等于一象素。这个“密度无关翻译 2012-03-13 00:30:55 · 994 阅读 · 0 评论 -
Android开发工具之(10)-反编译整理集
Android APK反编译详解这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件。一、反编译Apk得到Java源代码首先要下载两个工具:dex2jar和JD-GUI转载 2012-03-13 09:54:46 · 568 阅读 · 0 评论 -
Android之GridView
GridView也是一种ViewGroup,它以二维,可滚动的表格来显示内容。通过使用一个ListAdapter,将要显示的内容将自动被插入到此布局中。本文将给出一个简单示例:创建一个图片列表(表格),点击之后,提示出位置。1. 布局文件 :main.xml<GridView xmlns:android="http://schemas.android.com/apk/re原创 2012-02-29 22:49:44 · 757 阅读 · 0 评论 -
Android之深入理解Adapter的四个接口
android.widget.Adapter一、定义:一个适配器对象被当作一个视图的 适配视图与基础数据之间的桥粱。适配器提供了获取数据的途径,也同样负责为数据集中的每一项数据创建视图。二、Adapter相关的几个类之间关系我们都知道:视图(View)用来显示数据(Data),但怎么来显示,是需要控制(Control)的。在这里,我并不是要引入MVC来大谈特谈(原创 2012-03-13 18:01:05 · 3745 阅读 · 0 评论 -
Android基础
Android基础一、Android六大组件:Android应用程序由一些零散的有联系的组件组成,通过一个工程manifest绑定在一起。在manifest中描述了每一个组件以及组件的作用。这里有6个组件,它们是Android应用程序的基石: 1)Activities(活动) 应用程序的显示层。每一个画面对应于你的应用程序,将会是Activity类的转载 2012-02-02 16:25:09 · 291 阅读 · 0 评论