当前位置:  编程技术>移动开发
本页文章导读:
    ▪[转帖]剪裁图片        [转帖]裁剪图片 原帖:http://www.linuxidc.com/Linux/2012-11/73940p3.htm不错的文章同一个作者的另一篇文章http://www.linuxidc.com/Linux/2012-11/73939p2.htm ......
    ▪ 【NDK学习第二章】怎么在自己的项目中使用NDK        【NDK学习第二章】如何在自己的项目中使用NDK 这篇博客实现的是在项目中调用C文件来实现两个数的相加。本文仅供参考,如果有不足的地方,欢迎指出。主要有这么几个步骤: 步骤一: .........
    ▪ Git的应用       Git的使用 版本控制 从最早使用vss后面开始使用svn 再后面在网上看到现在的git比较流行,不是很清楚为什么git比较好,搜索了git的优点,大致有以下几点转:http://blog.csdn.net/starter110/article/.........

[1][转帖]剪裁图片
    来源: 互联网  发布时间: 2014-02-18
[转帖]裁剪图片
原帖:http://www.linuxidc.com/Linux/2012-11/73940p3.htm

不错的文章

同一个作者的另一篇文章
http://www.linuxidc.com/Linux/2012-11/73939p2.htm

    
[2] 【NDK学习第二章】怎么在自己的项目中使用NDK
    来源: 互联网  发布时间: 2014-02-18
【NDK学习第二章】如何在自己的项目中使用NDK
这篇博客实现的是在项目中调用C文件来实现两个数的相加。
本文仅供参考,如果有不足的地方,欢迎指出。



主要有这么几个步骤:



步骤一: 在你的工程中新建一个类,这个类有两个作用,1.通过这个类,和本地C/C++代码打交道,实现代码结构上的耦合。2.javah通过这个类生成.h文件,你可以根据这个.h文件来编写.c文件。



步骤二: 在.c文件编写好了以后,我们就开始编写Android.mk文件,这个文件用来指定.c文件的位置。即告诉NDK,要被编译的.c文件在哪里。



步骤三: 使用cygwin编译生成库文件(.so),成功以后,拷贝到你的项目的libs文件夹下,你就可以在java类中调用库文件(C/C++)了。



步骤1:
新建一个工程:JNIDemo
新建一个类:Calculate.java 通过这个类用来和本地C/C++代码交互,相当于是一个接口的作用。注意:这个类可以不是静态类,只是我认为写成静态的使用起来会比较方便,你也可以不写成静态类。
public class Calculate {

	public static native int plus(int x, int y);
	
	static{
		
		System.loadLibrary("calculate");//要加载的库的名称
	}
}


工程结构:
[img]

[/img]

根据上面的Calculate.java 来生成C的.h头文件,这个头文件的作用是用来定义C的实现,它只和.c文件有关。对于项目的编译和运行没有意义。

具体做法是:通过命令行进入到项目的bin\classes目录下,执行javah命令,如图:
[img]

[/img]


打开你的项目你会在bin\classes目录里面发现一个.h文件,如图:
[img]

[/img]


这时候你就可以根据自动生成的.h文件来编写具体的.c实现文件了:

你可以这样做:在项目根目录下新建一个jni文件夹,将刚才生成的.h文件拷贝进来,然后针对这个.h文件编写具体的实现。剩下的就是业务的问题了。这里贴出我的代码

com_michael_jni_Calculate.c:
#include <string.h>
#include <jni.h>



JNIEXPORT jint JNICALL
Java_com_michael_jni_Calculate_plus( JNIEnv* env,
                                                  jobject thiz,
                                                  jint x,
                                                  jint y )
{
    return x + y;
}







步骤2:
在jni文件夹下编写Android.mk文件,如下:

Android.mk文件用来告诉NDK需要编译的C/C++源文件的位置。

LOCAL_PATH 代表的是.c文件的位置,$(call my-dir)返回Android.mk文件所在目录的路径

LOCAL_MODULE 代表的是共享库的名称

LOCAL_PATH := $(call my-dir)

 

include $(CLEAR_VARS)

LOCAL_MODULE    := calculate
LOCAL_SRC_FILES := com_michael_jni_Calculate.c

include $(BUILD_SHARED_LIBRARY)







步骤3:
在ndk安装目录中的samples文件夹下新建一个文件夹,该文件夹和你的项目名相同,并在这个项目文件夹下新建一个名为jni的文件夹,然后将刚才编写好的Android.mk和.c文件放到这个jni文件夹下,如图:
[img]

[/img]


打开Cygwin.bat,生成库文件,如图:
[img]

[/img]

生成完以后项目文件夹目录下多了libs和obj这两个文件夹,如图:
[img]

[/img]

这个时候,对我们有用的就是libs文件,打开这个文件夹,你可以把里面的armeabi文件整个拷贝到你的项目的libs文件夹下面。


最终的项目结构图为:
[img]

[/img]


这时候你就可以调用你所编写的本地C/C++库(calculate)了。
项目运行的效果如下图:
[img]

[/img]





    
[3] Git的应用
    来源: 互联网  发布时间: 2014-02-18
Git的使用
版本控制
从最早使用vss
后面开始使用svn

再后面在网上看到现在的git比较流行,不是很清楚为什么git比较好,搜索了git的优点,大致有以下几点

转:http://blog.csdn.net/starter110/article/details/7464455
1. git 是分布式的

目前大多数VCS都是集中式式,如SVN,也就是说一台SVN服务器,别人都是客户端,数据的操作都必需在这台服务器上。这会造成一个明显的问题:单点故障,你懂的。

而git是分布式的,也就是说大家都是服务端,你中有我,我中有你,合恢统一,当然git也有共同的远程服务器。不过就算一台服务器挂了,随便找个客户端clone一下,又生龙活虎了。

分布式的别一个好处是,断网或不在内网,你也可以工作。相信大家都有这么个经历,公司有事没做完,背电脑回家做,做了又提交不了,而git就无需担心了,你机子的数据库就是完整的git数据库,就算处于无网状态,你也可以提交修改。

2. git 分支使用指针

传统的VCS切分支挺麻烦的,如果有过管理VCS经验的人应该知道,切一个分支就是完全复制当前分支的所有文件,在比较大型的项目里,开销是比较大的,如果你有N个APP,且每个APP都有各自的分支,那就有的你忙了。

git提倡你多切分支,因为它使用的是指针,你可以在去上厕所前切一个,去上厕所后再切一个,左切切右切切,没关系,它罩得住。

传统VCS切分支是在服务端操作的,也就是说本地其实要在服务端操作完再check下来。git 不然。服务端也可以切分支,本地也可以切分支,这是我认为最大的好处,你在处理12345这个bug时可以切一个分支,马上老大来话说你给我优化一下XXX功能,你又切一个分支,上级应用层来个电话说YYY功能不太好用啊。。同样,你再切一个分支。由于你切的分去只是本地的,不会影响到别人,在发好功能测试后你可以合并到master里,测试提交。

3. 分工协作

本来这点可以放到第一点中,git 是分布式的。不过我单独拿出来是因为这个优点有不同寻常的意义。大家可能经历过手里同时有2~N个活,可能都是基于公司同一个源代码。其中可能要和A完成一个功能,和B完成一个功能。这时候git就可以大显身手了,你也可从A机子里得到项目的最新代码,也可以从B机子里拿到他的劳动成果,而完全不用经过中央服务器,所以不会对其他人照成影响。

转:http://www.oschina.net/question/28_37438

自己没怎么用过,所以不好作太多的评论


这几天开始折腾看看git到底是个什么东西,记得好像以前也有接触过,当时下载Android源码的时候,好像就用git去下载的,只是当时没留意


Git有windows版本和linux版本 ,客户端工具我选用的TortoiseGit ,跟小乌龟svn客户端差不多,用起来还算方便

里面有 pull push的操作 ,应该就是和svn里面的 update 、commit 类似


TortoiseGit使用指南 参考
http://www.cnblogs.com/cute/archive/2011/04/02/2003855.html


有时间再研究下吧 ,据说现在git比svn流行多了


安装git for windows 的时候有注意

参考 Git_Windows 系统下Git安装图解
http://blog.csdn.net/jiguanghoverli/article/details/7902791


git remote/client 学习笔记 
参考
http://www.cnblogs.com/elfsundae/archive/2011/07/06/2099182.html

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3