- 博客(45)
- 资源 (3)
- 收藏
- 关注
原创 冒泡排序
实现代码:结果从小到大for(int j = 0 ;j score.length - i - 1; j++){ //对当前无序区间score[0......length-i-1]进行排序(j的范围很关键,这个范围是在逐步缩小的) if(score[j] > score[j + 1]){ //把小的值交换到后面 int temp = score[j];
2017-04-10 17:20:38
316
原创 Android签名
1.首先你要知道签名是给你自己开发的apk打个标记,这个是apk是你开发的,所有权是你。2.搞个自己的签名文件android.keysotre(具体怎么搞,自己google)3.先导出一个没有签名的apk(可以使用eclipse导出无签名的)4.然后使用2的签名文件签名(进入到jdk bin目录下) jarsigner -digestalg SHA1 -sigalg SHA1w
2015-12-15 11:34:09
450
原创 Installation error: INSTALL_FAILED_VERSION_DOWNGRADE
安装apk的时候报错:Installation error: INSTALL_FAILED_VERSION_DOWNGRADE原因:android:versionCode="1" 这个配置的versionCode比设备上安装的APP的versionCode值小解决方法:可以提高versionCode或者把设备上的APP卸载了再安装
2015-11-25 09:27:35
484
转载 Java序列化与反序列化
转载:http://blog.youkuaiyun.com/wangloveall/article/details/7992448Java序列化与反序列化Java序列化与反序列化是什么?为什么需要序列化与反序列化?如何实现Java序列化与反序列化?本文围绕这些问题进行了探讨。 1.Java序列化与反序列化 Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化
2015-11-24 11:30:54
532
转载 详解Android中AsyncTask的使用
转载:http://blog.youkuaiyun.com/liuhe688/article/details/6532519在Android中实现异步任务机制有两种方式,Handler和AsyncTask。Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,但也是有缺点的,例如代
2015-11-23 14:25:01
971
原创 Android Handler
1.通常的使用方法 //handlercase R.id.handler:printThreadinfo(Thread.currentThread(),"sendMessage");mHandler.sendEmptyMessage(10);Logger.i("handler", "===next_start==");int i=1;Toast.makeText(th
2015-11-23 13:49:09
481
原创 adb push 文件夹
adb 在push 文件夹的时候要push上一级文件夹才可以把整个文件push到对应的目录,如:要push 目录data到/mnt/sdcard/时,你要把目录放到一个文件夹(如a文件夹)下,然后adb push a的绝对目录 /mnt/sdcard/
2015-11-20 12:25:53
8006
转载 使用AIDL实现进程间的通信
转:http://blog.youkuaiyun.com/liuhe688/article/details/6400385在Android中,如果我们需要在不同进程间实现通信,就需要用到AIDL技术去完成。AIDL(Android Interface Definition Language)是一种接口定义语言,编译器通过*.aidl文件的描述信息生成符合通信协议的Java代码,我们无需自己去写
2015-11-16 14:43:26
436
原创 导航引导模块
导航引导模块1.引导分有路径引导和无路径引导,模拟引导和真实引导2.引导模块主要是把各种数据播报出来,如实景图,看板图,TMC数据,交通信号灯,超速报警等数据。
2015-11-10 13:32:05
664
原创 语音导航
语音导航这个功能实现的根本是要依赖语音识别软件和导航软件协同才能完成,这个功能的时间大致是如下步骤:1.首先是语音识别软件和导航软件直接要定好交互协议,如检索POI的接口,导航到目的地的接口等2.定好接口以后,手写是由语音识别软件识别用户的语音,比如“导航到北京”,然后语音识别软件把信息识别后根据预先定义的协议 把信息传递给导航到目的地接口,如把一个json数据传到导航接口里
2015-11-10 13:23:52
1433
原创 惯导
惯导惯导比较依赖于初始位置,然后根据陀螺仪和加速度计来进行位置的推算,由于距离是通过速度对时间进行积分来计算的,所以会有时间长误差大的问题,会导致车辆飘掉的问题,所以惯导通常都会和GPS和用,可以以惯导为主,gps辅助纠正的方式来进行导航
2015-11-10 11:39:15
2782
原创 地图定位(gps)
地图定位(gps)1.获取gps数据java层中给Android系统设置两个实现的监听器,一个是卫星的监听器: GpsStatus.Listener,set接口:locationmanager.addGpsStatusListener(statusListener); 另一个是位置的监听器:android.location.LocationListener,set接口:location
2015-11-09 17:01:49
728
原创 TMC描画和播报
一:TMC数据获取 这个数据获取很简单,就是通过网络请求,跟tmc服务器交互,获取网络数据,返回的数据格式为xml或者json格式1.1请求的细节上有个鉴权的过程,需要根据协议计算出authodcode和令牌token,这个都有一定的有效期,过期要重新计算token,再请求1.2 请求到的数据类似如下: I/tmc ( 3454): tmc_strResul
2015-11-09 15:19:46
462
原创 eclipse ctrl+左键失效
当在使用eclipse开发c++代码时,有时候ctrl+左键连接失败解决方法:随便找一个对象点(.)运算一下,就OK了
2015-11-03 15:00:10
5239
原创 导航算路
一:基本概念1.Dijkstra算法2.二叉堆快速排序3.曼哈顿距离4.数据分层5.Link代价6.Node代价二:Level_0层探索1.由自车和目的地计算的最小覆盖区域(区域A)2.由自车和目的地计算的次可能覆盖区域(区域B)3.加载自车中心所在数据包4.自车端link搜集和代价制作5.将自车端的Link压人heap中6.自车端探索
2015-11-03 12:23:50
1343
1
原创 c/c++层log打印
#include __android_log_print(ANDROID_LOG_ERROR, "drawmap", "time1 %d",mt2 - mt1);
2015-10-30 10:42:34
435
原创 导航软件后台播放语音有杂音,卡顿
由于activity一到后台就会把进程优先级调低到Background process,导致语音播报卡顿。目前的解决方法好像只有把我们的initnavi,startnavi这2个接口放到一个service里面,然后在Service的onCreate方法中调用improvePriority来提高进程的优先级private void improveP
2015-10-30 09:01:07
2212
原创 ndk 调试so库
ndk 调试so库:adb logcat | ndk-stack -sym D:\environment\****\obj\local\armeabi 其中后边的路径是项目的obj下的armeabi路径
2015-10-27 12:48:18
463
原创 ubuntu adb配置手机
1.lsusb 找到手机对应的idVendor和idProduct2.sudo gedit /etc/udev/rules.d/51-android.rules3.修改对应的idVendor和idProductSUBSYSTEM=="usb", ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="7423",MODE="066
2015-09-28 15:31:04
630
原创 将本地的代码备份到GitHub上
1.首先把Git安装好,然后进入到要本分的代码根目录下,最好把一个工程单独放到一个目录下2.在跟目录下执行git init git add . git commit -m " commit log here"3.第2步执行完是说把当前目录下的代码添加到本地的库中了,然后就是要将本地库同步到github上,在这个之前需要做一些配置4.https://help.github.c
2015-09-28 15:28:36
635
原创 从github上同步代码到本地
https://help.github.com/articles/fork-a-repo1.先把关注的项目fork一份到github上自己的代码仓库2.克隆一份代码到本地:git clone https://github.com/lycasa/patchrom_android.git3.保持代码同步:git remote add upstream https://githu
2015-09-28 15:27:44
2742
原创 将原始库中的代码同步到fork上
1.在你clone fork代码到本地的时候有一个添加原始库的操作,这个很重要 git remote add upstream https://github.com/***这个是建立和原始库的连接,如果这个upstream的地址add错了,可以这样 git remote rm upstream 然后再添加正确的地址2.然后就是把原始库的代码merge
2015-09-28 15:26:50
359
原创 android adb shell 模拟广播发送和键值事件
1.模拟发送广播adb shell am broadcast -a 定义的广播action string2.模拟上下左右 确定键值adb shell input keyevent "value"value:是键值对应的数值 KEYCODE_DPAD_UP 19 KEYCODE_DPAD_DOWN 20 KEYCODE_DPAD_LEFT 21 K
2015-09-28 15:25:21
4765
原创 adb shell 查看系统属性
1.adb shell2.getprop可以查看一系列系统属性值3.getprop |grep xxx.xxx.xx 过滤查看特定系统属性值
2015-09-28 15:24:33
7319
原创 Android View研究
因为android View非常强大,这篇博客会长期更新1.ListView ListView->AbsListView->AdapterView->ViewGroup->View2.TextView TextView->View3.Button Button->TextView->View4.View View--impl-->KeyEve
2015-09-28 15:23:22
362
原创 Android事件处理机制研究
因为android的事件处理机制很博大,该片博客会长期更新,不断完善1.MotionEvent->InputEvent2.KeyEvent->InputEvent-------------------------------------------------------------------------------------------------------------
2015-09-28 15:22:15
341
原创 Android ListView 适配键值事件和点击事件
1.当使用硬按钮和手指点击同时操作listView的时候,焦点的问题会让人很纠结,如果想做好与用户的交互就更不容易了, 这个是因为Android在touch模式的时候不涉及到焦点的概念,尽管相应的方法来设置这个模式也有焦点(setFocusIntouchMode), 但是在时间的开发中还是不能很好的满足很多要求2.写几点开发适配listView焦点的心得吧 2
2015-09-28 15:21:12
565
转载 Android Layout Xml的命名空间
1.xmlns:android="http://schemas.android.com/apk/res/android" 这个是android原生的默认xml的命名空间,名字是android,这个命名空间对应的framework文件是frameworks/base/core/res/res/values/attrs.xml 这个attrs中定义了android各个原生控件中的所有属
2015-09-28 15:19:48
582
转载 Android 平台版本和Android API级别
1.Android 平台版本 这个是指Android 2.2,Android 2.3,Android 4.0等,这里边有一个整个系统版本的概念,包括的内容比较多2.Android API 级别 这个是从1开始的一系列的整数,目前最新是19,这个可以理解就是那个android.jar的版本号,这个api主要是 给应用开发使用的,而Android的平台版本里不光有这个ap
2015-09-28 15:18:22
976
原创 Ubuntu eclipse alt+/不提示
解决方法:windows-->Preference-->Keys-->Content assist -->bind(alt+/),when(Editing text)
2015-09-28 15:17:10
487
原创 Android 电容屏和电阻屏
电容屏:是通过静电感应来操作的,反映比较快,灵敏度比较高,像iphone和android新机应该基本都是电容屏 缺点是定位的精度不够 电阻屏:windos平台比较多,偏商务的设备多是这种屏幕,需要用力按压屏幕触发操作,灵敏度比较低,但是 定位的精度比较高
2015-09-28 15:16:03
547
原创 Eclipse设置默认文件的打开程序
比如你在程序重想直接按ctrl键+鼠标左键打开图片(.png),可以这样设置1.Windows->Preferences->General->Editors->File Associations2.在右边上半部分点击Add ,添加一个.png文件类型3.选中添加的.png文件类型,在下半部分点击Add选择打开文件的应用程序即可
2015-09-28 15:15:00
516
原创 Ubuntu12.04 安装sqlite
1.sudo apt-get install sqlite sqlite3 2.sudo apt-get install sqlitebrowser,这个是可视化工具,在搜索里找到sqlitebrowser,直接打开可以查看数据库文件.db,.nish等
2015-09-28 15:13:32
426
转载 Android UI适配研究
Android UI适配机制内容比较多,该博客会长期更新!http://www.cnblogs.com/renyuan/archive/2012/07/25/2607936.htmlAndroid 获取屏幕尺寸与密度 遇到一个问题,我的地图浮标图片在WVGA手机上正好,在QVGA上就显的太大,所以我要根据屏幕的不同调整浮标的大小使其在QVGA大小合
2015-09-28 15:04:48
457
原创 Android 开发问题及解决汇总
该博客会记录实际工作中遇到的问题,和最后的解决方法!1.在布局中用include标签,include一个LinearLayout布局,给该LinearLayout布局添加id,然后在通过findviewbyid 找LinearLayout的时候会报空指针??? 应该将LinearLayout的id写在include标签下边,而不是写在LinearLay
2015-09-28 15:03:18
377
转载 android:inputType常用取值
//文本类型,多为大写、小写和数字符号。 android:inputType="none"//输入普通字符 android:inputType="text"//输入普通字符 android:inputType="textCapCharacters"//输入普通字符 android:inputType="textCapWords"//单词首字母大小
2015-09-28 15:01:42
370
转载 Layout_weight这个属性
http://mobile.51cto.com/abased-375428.htm最近写Demo,突然发现了Layout_weight这个属性,发现网上有很多关于这个属性的有意思的讨论,可是找了好多资料都没有找到一个能够说的清楚的,于是自己结合网上资料研究了一下,终于迎刃而解,写出来和大家分享。首先看一下Layout_weight属性的作用:它是用来分配属于空间的一个属性,你可以设
2015-09-28 15:00:10
412
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人