- 浏览: 928839 次
- 性别:
- 来自: 北京
最新评论
-
itzhongyuan:
java Random类详解 -
david_je:
你好,我看到你在C里面回调JAVA里面的方法是在native里 ...
Android NDK开发(1)----- Java与C互相调用实例详解 -
fykyx521:
请求锁是在 oncreate 释放实在ondestroy?? ...
Android如何保持程序一直运行 -
aduo_vip:
不错,总结得好!
Android读取assets目录下的资源 -
f839903061:
给的网址很给力哦!
Android 4.0.1 源码下载,编译和运行
文章列表
#include <iostream.h>
#include <string.h>
using namespace std;
int main(){
int Arr[5];
// for(int i = 0; i < 5; i++){
// cout <<"the Arr :["<< i <<"]"<<endl;
// cin >> Arr[i]; //存入到数组里面
// }
//
// ...
#include <iostream.h>
using namespace std;
int main(){
cout<<"Hello World!!!" << endl; //endl 是换行符
cout<<"I am a C++ programer";
return 0;
}
类与对象
Animal.h 文件
#include<iostream.h>
class Animal{
// 定义属性
protected:
int age;
int weight;
//定义方法
public:
Animal();
~Animal();
void setAge(int sage);
int getAge();
void setWeight(int sweight);
int getWeight();
...
/**
* 关键字class的语法
* class class_name{
* //各种数据类型,也可以是其他的类类型,
* //各种函数,方法,用来操作类中的数据或者其他服务的函数
* }
*
* 定义类对象的方法与定义变量一样, 使用点运算符访问类的成员
*
* 默认访问是私有的,私有的数据要用存取器进行控制。
* 存取器是公有的
*
* */
#include<iostream.h>
using namespace std;
class Cat{
public:
int getAge(); //存取器
...
android应用后台安装,静默安装的代码实现方法
http://hi.baidu.com/6936995/blog/item/eca4436387a80d7b0d33fa31.html
首先,你要有linux环境或其他可以mmm交叉编译的环境,因为这个用到的是隐藏api,SDK中没有的,ecilipse里面会提示包不存在,但交叉编译可以,如果你不知道mmm编译,请return。
代码如下:
import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;
import android.c ...
a)准备交叉编译工具链
android代码树中有一个prebuilt项目,包含了我们编译内核所需的交叉编译工具。
b)设定环境变量
$ emacs ~/.bashrc
增加如下两行:
export PATH=$PATH:~/android/prebuilt/linux-x86/toolchain/ arm-eabi-4.4.0/bin
export ARCH=arm
保存后,同步变化:
$ source ~/.bashrc
c)获得合适的内核源代码
$ cd ~/android
获得内核源代码仓库
$ git clone git://android.git.ker ...
一. 首先在Android源代码目录下的build目录下,有个脚本文件envsetup.sh,执行这个脚本文件后,就可以获得一些有用的工具:
USER-NAME@MACHINE-NAME:~/Android$ . ./build/envsetup.sh
注意,这是一个source命令,执行之后,就会 ...
sudo apt-get install sun-java6-jdk
二 手动安装
如果上面方法不行,则要下载手动安装jdk6,下载地址:
http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html
http://download.oracle.com/otn/java/jdk/6/jdk-6-linux-i586.bin
jdk5下载地址:
http://www.oracle.com/technetwork/java/javasebu ...
public class HelloWorld {
public native void print(String str); //声明本地方法
public static void main(String[] args) {
new HelloWorld().print("world!");
//System.out.println(System.getProperty("java.library.path"));
}
static{
//System.loadLibra ...
public class ObjectArrayTest{
public static native int[][] init2DArray(int size); //声明本地方法
public static void main(String[] args) {
int i2arr[][] = init2DArray(3);
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
System.out.print(" ...
http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/jniTOC.html
直接看代码
public class IntArray{
public native int sumArray(int arr[]); //声明本地方法
public static void main(String[] args) {
IntArray p = new IntArray();
int arr[] = new int[10];
for (int i = 0; i < 10; i++) {
arr[i] = i;
}
int sum = p. ...
直接看代码吧
public class Prompt{
public native String getLine(String prompt); //声明本地方法
public static void main(String[] args) {
Prompt p = new Prompt();
String input = p.getLine("Type a line:");
// System.out.println(System.getProperty(&quo ...
java中的jni 例子HelloWorld
准备过程:
1. 创建一个类(HelloWorld.java)
2. 使用javac编译该类 HelloWorld.class
3. 利用javah -jni产生头文件 HelloWorld.h
4. 用本地代码实现头文件中定义的方法 HelloWorld.c
5. 编译c文件 HelloWorld.so 或者 HelloWorld.dll
6. 运行
HelloWorld.java
public class HelloWorld {
public native void print(); //声明本地方法
...
1.创建android 工程
android create project -n ndk002 -t 8 -p /Users/zhaoshun/android/android-ndk-r8/samples/ndk002 -a Test002 -k killqq.net.ndk
2.编写应用层项目文件 Test002.java文件:
public class Test002 extends Activity{
private static final String libSoName = "helloLog";
private EditText getStr ...