andriod 环境 学习

adt-bundle-linux
cd sdk
eclipse
window ->preferences->Andriod-> SDK Location(adt-bundle-linux/sdk)

create project method:
1.menu->file->new->Andriod Application Projects
创建普通的应用程序
2.menu->file->new->Project
Package name 注意! Minimun SDK 最小兼容版本

然后默认直到完成(非集成的也可以选择默认的创建)

run:
右键项目-》Run As Andriod Application
如果想用模拟器 运行之前需要先创建他

Andriod 中文件夹的作用
src:源文件(提交源代码时不要提交工程文件和配置文件)
 R.java不需要修改 用来和下面的res来交互
bin:生成文件
 .java编译成class->dex属于apk
libs:外部依赖库
 .jar 第三方的非开源库
res:资源
 drawable:存储图片资源
 
 添加图片演示:把图片copy到eclipse 可以相互copy
 添加后直接在代码中生成相应的资源drawable

Layout:布局
value:定义字符串(也可以写到代码中,写到这是为了支持多语言时修改方便,不用多次修改代码)
Manifest:增删activity等,还可以修改属性(例如横屏竖屏)
    指定权限:比如写sdcard等 andriod.permission.WRITE_EXTERNAL_STORAGE
   
Activity 和layout
Activity:一个程序组件,主要功能是提供界面,是一般应用程序的入口。
 onCreate():创建activity的时候自动创建,用于初始化一些东西
layout:xml设计布局(也可以在代码中控制)每个xml代表一种布局
 LinearLayout
 RelativeLayout
 FrameLayout
 
调试:
1.log:Log.i();等等 参数:tag:text
 显示:menu->others->show view->logcat
 cmd:adb logcat |grep this  查找this (adb需要配置环境变量 在platform tools中)
 
建立模拟器:
 左上方:Andriod Virtual Device Manager->new
 
 NDK简介
比较简单的说,NDK是一套交叉编译工具,它可以帮你把你用C或C++书写
的代码,编译为.so(类似与win下的.dll)格式的文件,使你可以在
你的Android程序当中用Java语言(JNI)调用这些代码
当你想在Java中调用你的C、C++代码时你就可以用它,那么什么时候你
可能考虑使用C、C++代码呢?比如说,你原来用C、C++写过一个游戏
程序,里边有你大量的封装好的游戏业务逻辑、算法等代码,你现在
想把这个游戏移植到Android上去,怎么办?难道这些业务逻辑、算
法要全部用Java重写一遍嘛?现在有了NDK,不用了,你可以直接编
译移植这代码了,所以说如果你有代码复用需求的时候,你就可以用
它。
再举一个例子,比如说你现在用Android手机的摄像头采集图片信息,采
集后的图片你使用Java书写了一个压缩算法进行压缩操作,这个算法
非常的耗时,耗费CPU,效果很不理想。这时你就可以尝试采用C来书
写这个压缩算法,这时你就可能发现,改用C代码执行后,效率提高
了几倍乃至十几倍。当你的客户对程序的性能、速度要求比较高的时
候,你也可以考虑用C、C++代码编写部分代码,以满足客户要求。

sample:hello.jni
ndk-build
vim helloJni.java native:用ndk去编译的
经验:
1.运行时崩溃:提示loadlibrary:说明没有build就运行了 还没有生成相应的so
2 即使编译了 还需要刷新 保证使用最新的库

Android.mk简介
1.include $(CLEAR_VARS) 变量由编译系统提供,功能是清
除掉所有以LOCAL_开头的内容,一般作为一个模块的开头
2.LOCAL_MODULE
3.LOCAL_SRC_FILES
4.include $(BUILD_SHARED_LIBRARY) 变量由编译系统提供
,可以提供生成那种库,动态链接库or静态链接库

NDK基础介绍
?在C/C++代码中加入调试信息
1.修改Android.mk文件,加入lib选项
LOCAL_LDLIBS := -llog
2.包含头文件
#include <android/log.h>
3.为方便调试,使用宏定义
#define LOGD(...)
__android_log_print(ANDROID_LOG_DEBUG, "tag",
__VA_ARGS__)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值