android
lianwanfei
这个作者很懒,什么都没留下…
展开
-
ndk开发注意事件
1:类名方法名需要跟工程的包名对应。否则java.lang.UnsatisfiedLinkError: No implementation found。2:abiFilters表示支持后面多种情况,此时若libs中没有对应的.so文件,遇到不适配的硬件设备就会报错couldn't find ***.soabiFilters 'arm64-v8a', 'armeabi', 'armeabi...原创 2018-08-14 09:29:02 · 199 阅读 · 0 评论 -
activity 跳转 动画
@anim/activity_in_from_right//若有activity A和B,启动A时A的动画 @anim/activity_out_to_left//在A中启动B时A的动画 @anim/activity_in_from_left//在B中返回A时A的动画 @anim/activity_out_to_right//在A中退出A时A的动原创 2015-12-01 12:01:23 · 405 阅读 · 0 评论 -
zbar,zxing谁更快
一直用的zxing,感觉还一般,老大说为什么别人的扫描那么快。于是拿别人的apk反编译了下,人家用的是zbar,立马试了下zbar,果然快一些。自己封装了下zbar,使用很简单1:加权限 uses-permissionandroid:name="android.permission.CAMERA"/> uses-featureandroid:name="an原创 2015-12-28 10:55:24 · 5496 阅读 · 0 评论 -
任意位置任意时长Toast
在设计师眼里,想在哪里弹个提示框就可以在哪里弹一个,想显示多久就显示多久。理想很丰满,现实太骨感,我们的Toast只能在屏幕中上,正中间,中下方,不能显示在某一控件下面,换背影颜色字体大小什么的也不是很方便,时间也是不可控的,只有Toast.LENGTH_LONG,Toast.LENGTH_SHORT。设计师努了,我设计得这么好的界面,你特么居然实现得这么搓,吧啦吧啦。即然系统自带的不行,那我们自原创 2015-09-11 11:08:11 · 592 阅读 · 0 评论 -
UsbAccessory
最近搞的开发慢慢接近底层了,各种usb打印机,usb串口通信,蓝牙通信,搞得头挺晕,不过也学到了挺多,今天抽点时间总结下。UsbAccessory 使用帮助类//User must modify the below package with their package namepackage com.UARTLoopback; import java.io.FileDescri原创 2015-10-14 16:55:20 · 1445 阅读 · 0 评论 -
aidl 不能生成对应 java文件
学习aidl中,发现创建aidl文件后,gen中无法自动生成对应的.java文件。处理办法:删除项目中的空文件夹,clean后完美生成。原创 2015-09-17 16:24:22 · 1644 阅读 · 0 评论 -
无数据线 debug
当你没有数据线的时候也想debug,怎么办?还有就是测试串口的时候,那个插口要被占用,无法跟电脑保持adb连接,怎么办?话不多说。官方文档Debugging considerationsWhen debugging applications that use USB accessory or host features, you most likely will h原创 2015-10-19 18:07:03 · 320 阅读 · 0 评论 -
自定义数字键盘(固定button键盘)
最近做支付相关软件,老板不想用系统的键盘,要自己写一个固定的按钮做键盘,感觉一个一个按钮加上去 挺麻烦的,而且有好几个页面都要使用这个键盘,做为程序员,我来封装一下。话不多说,直接上核心代码,主要是一个fragment和一个layout1:MyKeyBoardFragment:原理就是点击按钮后模拟键盘点击事件,封装在performKeyDown方法中。package com.di原创 2015-08-28 14:53:13 · 2012 阅读 · 0 评论 -
Eclipse Android SDK content Loader
1:直接暴力解决,删掉WorkSpace下.metadata\.plugins\org.eclipse.core.resources\.projects文件夹下的所有内容,再重启Eclipse。2:直接run直到eclipse无响应,重启原创 2015-08-27 09:34:37 · 443 阅读 · 0 评论 -
FragmentActivity 被垃圾回收后如何处理
使用Fragment应用放置后台很久,或者被360加速球清理后,被系统回收,出现crash原因:FragmentActivity源码调用onSaveInstanceState默认保存了Fragment对象,这时候系统恢复保存的Fragment,但是在FragmentActivity重新执行生命周期的时候,我们重新生成了fragment对象附加到该FragmentActivity,系统恢原创 2015-09-06 15:05:01 · 1073 阅读 · 0 评论 -
android 圆角背景
1:顶部圆角底部直线背景原创 2014-11-06 10:27:45 · 1024 阅读 · 1 评论 -
android tcp 长连接
package com.dingmore.terminal.socket; import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.lang.ref.WeakReference;import java.net.Socket;import java.net原创 2016-01-21 14:22:38 · 4597 阅读 · 0 评论 -
android 监听键盘弹出收起状态
1:manifast中对activity添加属性 <activity android:name=".LoginActivity" android:windowSoftInputMode="stateAlwaysHidden|adjustResize"> 2:添加如下代码,并在oncreate中调用,其中main_原创 2016-01-06 10:15:33 · 1401 阅读 · 0 评论 -
afinal 网络差自动重连
afinal 底层做了网络差自动重连,偏偏我的程序不需要这个东西,于是改了一下记录下,免得以后忘了改了啥原创 2016-01-23 16:11:43 · 404 阅读 · 0 评论 -
android webview js
在当前的Android开发中,会使用大量的H5(html5+css3+js),和Native一起的混合开发模式(Hybrid),在Hybrid开发的过程中,H5部分开发效率高和移植便利性为主,但是在一些地方使用h5的确不容易实现,这个时候就需要调用Java方法来完成某些功能,就会遇到Javascript和Java相互调用,用Java的方法实现那些Javascript代码不容易,不好完成的任务,比如转载 2016-08-29 16:15:29 · 572 阅读 · 0 评论 -
右滑退出SwipeBackLayout
参考了下网上大神们的思路,自己写了一套代码实现原理:1:自定义一个SwipeBackLayout,负责监听滑动事件和事件2:新建SwipeBackActivity,负责把SwipeBackLayout 把SwipeBackActivity插入decorView 与decorView的子View之间3:若按下坐标在屏幕最左侧且滑动方向为向右则拦截,并对SwipeBackLayou原创 2016-08-16 12:00:15 · 1396 阅读 · 0 评论 -
aidl小结
1:创建aidl文件example .aidl/** Example service interface */interface IRemoteService { /** Request the process ID of this service, to do evil things with it. */ int getPid(); /** Demonstrat原创 2016-07-21 12:19:30 · 253 阅读 · 0 评论 -
aidl长连接小记
1:aidl类interface IBackService{ boolean sendMessage(String message);}2:长连接服务类public class SocketService extends Service { private static final String TAG = "BackService"; private static原创 2016-07-07 17:12:16 · 806 阅读 · 0 评论 -
打印机工厂模式小记
以下是一个基于打印机的工厂模式1:抽象工厂类public class PrinterFactory { public static AbstractPrinter getPrinter(Activity activity){ if(ExtUtil.isWizarpos()){ return WizarPrinter.getInstance(activity); }else原创 2016-07-07 16:51:03 · 695 阅读 · 0 评论 -
View 事件分发机制
小小总结下详细看http://blog.csdn.net/lmj623565791/article/details/38960443http://blog.csdn.net/lmj623565791/article/details/391025911:ViewGroup继承自View,添加了onInterceptTouchEvent函数,View无此函数,故不会拦截2:首先原创 2016-07-15 18:36:03 · 266 阅读 · 0 评论 -
启动模式 launchMode小记
android 的activity启动后是放在一个个的栈里面的,但根据启动模式的不同,对栈里面的activity的处理机制不同。以下,以A代表launchMode为standard的activity,B为对应launchMode的activity1:standard默认的launchMode,启动的activity直接push到栈中。公式为AB+B=ABB;ABA+B=ABAB;2原创 2016-07-14 18:37:58 · 658 阅读 · 0 评论 -
讯飞自动更新封装
友盟自动更新关闭了,公司不想自己做一个更新系统,各种精挑细选下,我选择了讯飞,并封装了一下必需的,要申请个讯飞账号,创建个应用,开通自动更新服务,这些不详谈,以下记录如何使用1:添加讯飞更新jar包,manifast文件添加以下代码 <activity android:name="com.iflytek.autoupd原创 2016-07-14 10:43:42 · 2027 阅读 · 2 评论 -
常用adb指令
常用adb指令adb shell //进入shellexit //退出shell#su#cd system/sd/data //进入系统内指定文件夹#ls //列表显示当前文件夹内容#rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件#rm xxx //删除文件xxx#rmdir xxx //删除xxx的文件夹adbshell原创 2015-11-17 10:37:41 · 438 阅读 · 0 评论 -
textview 行间距对设计图的影响
上图是设计师给的图(在dpi=2的机器上开发)1:android的textview的测量并非如此,因为android的字会保留上标和下标的留空的,所以最上面的32px如果你写margingTop=16dp,必定是比设计图的要宽许多的那应该如何计算这个margingTop呢,32-(40/4)=22px,应该写margingTop=11dp才对2:如果你自己去量一下方字的大小,你会发现文原创 2016-04-26 14:53:57 · 453 阅读 · 0 评论 -
Android Fragment嵌套
前两天做了个自定义键盘MyKeyBoardFragment,http://blog.csdn.net/lianwanfei/article/details/48052073;今天想把它放在我的另一个fragment中使用出现了点问题1:直接复制代码进去,跑一遍,报错了xml解析出错<fragment android:id="@+id/keyboard_fragme原创 2015-09-01 10:41:11 · 579 阅读 · 0 评论 -
自定义统一title
1:style中添加自定义标题theme stylename="title_background_style"> itemname="android:textColor">#FFFFFFitem> itemname="android:textSize">18spitem> style> stylena原创 2015-07-28 21:47:26 · 470 阅读 · 0 评论 -
android 标题动态变换(listview scrollview 滑动距离计算)
1:android:layout_marginTop="-100dp"给列表头是图片的列表加个这个属性有下拉弹起的效果2:计算列表下拉的距离(如果所有列表项长度一样的话可行)public int getScrollY() {View c = myPullListView.getChildAt(0);if (c == null) {return 0;}int firstV原创 2015-01-16 15:46:04 · 2237 阅读 · 0 评论 -
圆形头像控件
import android.annotation.SuppressLint;import android.content.Context;import android.graphics.Canvas;import android.graphics.Path;import android.util.AttributeSet;import android.view.View;import原创 2015-01-19 11:47:59 · 466 阅读 · 0 评论 -
listview textview收缩展开
必须是通过post方式否则没效果的holder.comment.post(new Runnable() { @Override public void run() { if(isShrink(holder.comment)||holder.comment.getLineCount()>4){原创 2015-01-19 14:37:32 · 1627 阅读 · 0 评论 -
BroadcastReceiver发送广播及接收简单实现
初始化广播监听器private void initRefreshBroadcase() { // TODO Auto-generated method stub refreshBroadcaseReceiver=new RefreshBroadcaseReceiver(); registerReceiver(refreshBroadcaseReceiver, new IntentFilter原创 2015-02-04 13:17:17 · 773 阅读 · 0 评论 -
空列表empty listview显示提示信息
1:普通listview很简单,只要在xml中添加提示的布局代码,并在代码中使用setEmptyView就可以了.不需要自己判断列表是空与否1234567891011121314151617181920212223242526xml version="1.0"原创 2015-01-14 15:50:44 · 2437 阅读 · 1 评论 -
ListView header 中使用控件ViewPager手势滑动影响问题
ListView header 中使用ViewPager时,只要手势向Y轴坐标有一点移动,左右翻页就会被受到影响而中断解决方法:mViewPager.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { Poi原创 2015-01-16 08:55:52 · 822 阅读 · 0 评论 -
自定义AlertDialog,去掉黑色边框
1:实现方法 private void showCancelDialog() { // TODO Auto-generated method stub AlertDialog.Builder builder=new AlertDialog.Builder(this); dialog=builder.create(); dialog.show(); final Window w原创 2015-02-03 10:52:03 · 1155 阅读 · 0 评论 -
android pop自定义弹出窗口实现
效果如上图,其中弹出框样式可自由定义,package lian.test.androidtest.pop;import java.util.HashMap;import java.util.Map;import android.content.Context;import android.graphics.Color;import android.graphics.Point;i原创 2014-12-03 14:43:49 · 2117 阅读 · 0 评论 -
android本地图片加载器,LruCache缓存机制
package com.dingmore.mobile.ui.picselect;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import android.graphics.Bitmap;import android.graphics.BitmapFactory;i原创 2014-10-29 11:51:05 · 645 阅读 · 0 评论 -
给ViewPager添加引导点
mViewPager.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int position) { changeIndex(); } @Override public void onPageScrollStateChange原创 2015-01-20 11:17:59 · 380 阅读 · 0 评论 -
第一次使用 弹出框
private void showGuide(){ //GuideManager.setGuideTyper(GuideManager.GUIDE_TYPE_HOME,false); if(!GuideManager.getGuideType(GuideManager.GUIDE_TYPE_HOME_STORE)){//判断是否为第一次进入这个界面 final Dialog dial原创 2015-02-09 17:46:48 · 497 阅读 · 0 评论 -
CountDownTimer 原理,倒计时实现
想实现一个倒计时功能,使用CountDownTimer非常简单,费话不多说1:首先继承CountDownTimer,复写构造函数,onFinish和onTick方法,onFinish方法在倒计时完成时调用;onTick方法在经过一个时间间隔后调用一次,这里你可以写一些UI变化如还有几秒原创 2015-05-06 09:37:54 · 1465 阅读 · 0 评论 -
AlarmManager 全局闹钟
1:注册闹钟服务 public void startPollingService(Context context, int seconds, Class cls,String action) { //获取AlarmManager系统服务 AlarmManager manager = (AlarmManager) context .getSystemService(Contex原创 2015-05-06 10:32:47 · 643 阅读 · 0 评论 -
回调函数使用
ItemMenuAdapter adapter = new ItemMenuAdapter(ItemSearchActivity.this,mMenuItemList,mStoreModel,new ItemMenuAdapter.OnMenuSelectCallBack() { @Override public void onCallBack() { // 在adap原创 2015-03-06 11:41:44 · 414 阅读 · 0 评论