`
文章列表
 工程建立好后,编辑 src/com/jpf/myjni/MyJNI.java 文件,内容如下: package com.jpf.myjni; import android.app.Activity; import android.widget.TextView; import android.os.Bundle; public class MyJNI extends Activity { /** Called when the activity is first created. */ @Override p ...
  在 Android 上,应用程序的开发,大部分基于 Java 语言来实现。要使用 c 或是 c++ 的程序或库,就需要使用 NDK 来实现。 NDK 是 Native Development Kit 的简称。它是一个工具集,集成了 Android 的交叉编译环境,并提供了一套比较方便的 Makefile ,可以帮助开发者快速开发 C 或是 C++ 的动态库,并自动的将 so 和 java 程序打包成 apk ,在 Android 上运行。        好,闲话少说,我们以一个简单的实例,来讲解 NDK 的应用。一 开发环境的搭建        这一步虽然没什么技术含量,但是对于初学者, ...
1、主要流程 1、  String 字符串传输 a) 上层定义一个native的方法,需要一个String  参数 ,返回一个String b) JNI对应上层的方法,打印出上层传输下来的String数据,并返回处理String数据 c) 上层 收到 native 方法 返回的 值,在UI中显示出来 2、  自定义对象的传输 a) 自定义一个对象Person b) 上层定义一个native方法,参数Person,返回值Person c) JNI接收对象,打印出相关信息数据 d) JNI 修改Person 对象数据,并返回到上层 e) 上层接收到数据后 在UI ...
JNI介绍 Java 本机接口(Java Native Interface (JNI))是一个本机编程接口,它是 Java 软件开发工具箱(Java SoftwareDevelopment Kit (SDK))的一部分。 JNI允许 Java 代码使用以其它语言(譬如 C 和 C++)编写的代码和代码库。Invocation API(JNI 的一部分)可以用来将 Java 虚拟机(JVM)嵌入到本机应用程序中,从而允许程序员从本机代码内部调用 Java 代码。   环境需求 JNI 最常见的两个应用:从 Java 程序调用 C/C++,以及从 C/C++ 程序调用 Java 代码 需 ...
Java通过JNI 机制调用c/c++写的native程序。c/c++开发的native程序需要遵循一定的JNI规范,下面的例子就是一个JNI函数声明: JNIEXPORT jint JNICALL Java_jnitest_MyTest_test (JNIEnv * env, jobject obj, jint arg0);   JVM负责从Java Stack转入C/C++ Native Stac ...
#include "TestNative.h" /* * Class: TestNative * Method: add * Signature: (II)I */ JNIEXPORT jint JNICALL Java_TestNative_add(JNIEnv *en, jobject obj, jint x, jint y) { return x+y; }  所有的JNI调用都使用了JNIEnv*类型的指针,习惯上在CPP文件中将这个变量定义为evn,它是任意一个本地方法的第一个参 ...
http://www.eoeandroid.com/thread-79081-1-1.html http://www.cnblogs.com/qianxudetianxia/archive/2011/04/12/2010919.html http://www.eoeandroid.com/thread-50433-1-1.html http://blog.csdn.net/xjanker2/article/details/6303937 http://wenku.baidu.com/view/e4e03c7a31b765ce050814f0.html
一个APK反编译利器Apktool APK 本地化   [http://www.andmoto.com/viewthread.php?tid=3873 ] 说起APK的汉化,目前大部分教程都是让用Hex Workshop或者Android ResEdit来做。但是实际操作后,就会发现:1、Hex Workshop操作繁琐,经常出现搜不到想要修改的字符的情况;2、Android ResEdit简单用用可以,修改稍微复杂一点就会出现整条整条丢字符串的情况;并且新内容不能比原内容长——谁能保证我的本地化语言就一定比原来的短呢?现在好了,老外写的《android-apktool》软 ...
很多网友发现自己Android程序的标题栏TitleBar区域很单调,如果想个性化一些可以通过下面的方法来为自己软件的标题定制一个layout布局文件,比如浏览器的标题栏,它包含了网站的Favicon,自定义的进度条,和不确定的进度指示等等,实现的方法自己控制吧。下面代码在onCreate中使用,同时顺序不要改变,否则将无法生效: requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.main); //软件activity的布局 getWindow().setFeatureInt(Wi ...
import android.app.Activity; import android.content.Context; import android.location.Criteria; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import android.widget.TextView; public class CurrentL ...
在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。抽空把对ListView的使用做了整理,并写了个小例子,如下图。   列表的显示需要三个元素: 1.ListVeiw 用来展示列表的View。 2.适配器 用来把数据映射到ListView上的中介。 3.数据    具体的将被映射的字符串,图片,或者基本组件。 根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter 其中以ArrayAdapter最为简单,只能展示一行字。SimpleAda ...
Android是如何实现应用程序之间数据共享的?一个应用程序可以将自己的数据完全暴露出去,外界更本看不到,也不用看到这个应用程序暴露的数据是如何存储的,或者是使用数据库还是使用文件,还是通过网上获得,这些一切都不重要,重要的是外界可以通过这一套标准及统一的接口和这个程序里的数据打交道,例如:添加(insert)、删除(delete)、查询(query)、修改(update),当然需要一定的权限才可以。 如何将应用程序的数据暴露出去? Android提供了ContentProvider,一个程序可以通过实现一个Content provider的抽象接口将自己的数据完全暴露出去,而且Content ...

Android源码地址

http://blog.csdn.net/ilittleone/article/details/6823441 http://www.verycd.com/topics/2906182/

android之File

1:Fileservice package cn.itcast.service; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import android.content.Context; import android.os.Environment; public class FileService { private Context context; ...
在Android中,线程内部或者线程之间进行信息交互时经常会使用消息,这些基础的东西如果我们熟悉其内部的原理,将会使我们容易、更好地架构系统,避免一些低级的错误。在学习Android中消息机制之前,我们先了解与消息有关的几个类: 1.Message 消息对象,顾名思义就是记录消息信息的类。这个类有几个比较重要的字段: a.arg1和arg2:我们可以使用两个字段用来存放我们需要传递的整型值,在Service中,我们可以用来存放Service的ID。 b.obj:该字段是Object类型,我们可以让该字段传递某个多项到消息的接受者中。 c.what:这个字段可以说是消息的标志,在消息处理 ...
Global site tag (gtag.js) - Google Analytics