- 博客(35)
- 收藏
- 关注
原创 实现5秒倒计时
/** * 定义 handler 实现倒计时功能 * */private val mHandler: TimeHandler = TimeHandler(this)/** * 倒计时5秒关闭页面 * */private class TimeHandler(activity: CompanyVerifiedSuccessActivity) : Handler() { val mWeakReference: WeakReference<CompanyVerifiedSucces.
2020-06-24 10:09:25
917
原创 输入一个字符串,最终输出的去掉重复后的字符串,保证输入顺序。
String s = removeDuplicates("accdalfcld");输出 s = "acdlf";用LinkedHashSet存储,保证了不重复和有序。public String removeDuplicates(String str){ if(TextUtils.isEmpty(str)){ return str; } int length = str.length(); if (length == 1) { return str; } L.
2020-06-15 11:23:54
2010
原创 两个超长的字符串数字相加
public String addString(String str1,String str2){ if (TextUtils.isEmpty(str1)) { return str2; } if (TextUtils.isEmpty(str2)) { return str1; } int length1 = str1.length()-1; int length2 = str2.length()-1; int carry = 0; StringBuilde.
2020-06-15 11:14:20
1034
1
原创 anr日志导出分析
1,通过adb命令确定有没有连接设备,如图说明连接了一个设备。adb devices2,执行命令查看该设备下是否存在anr文件,如图存在两个,命名包含了发生的详细时间。adb shell ls data/anr3,通过adb pull命令将、data/anr目录下的某个anr文件导出到电脑桌面。adb pull /data/anr/anr_2020-04-22-15-1...
2020-04-22 16:16:08
974
原创 记录一次Mat分析内存泄漏
一,首先打开需要分析内存泄漏的界面,链接AndroidStudio,借助AS中的Profiler工具监控内存分配与回收。反复进入需要测试的界面然后退出。如下图Profiler界面,步骤1是操作完进入退出界面动作后点击几次1垃圾回收按钮,目的是为了回收关闭掉的界面。然后点击旁边步骤2按钮,一个下载图标,等待几秒中后左侧回出现一个HeapDump item,这个就是生成好的xxx.hprof文件。点击...
2020-04-22 11:33:27
250
原创 自定义一个DialogFragment
需求:自定义一个DialogFragment DialogFragment的父类是Fragment ,内部源码也是直接对Dialog进行了封装而已。自定义一个DialogFragment有两种方式进行dialog 布局的创建。1,复写方法onCreateDialog,在该方法中进行处理返回一个dialog,2,复写onCreateView方法,在这里面创建返回自己的布局。今...
2019-12-27 13:03:42
1194
1
原创 去除DialogFragment中的边距。
由于DialogFragment弹出来的时候会有个默认的边距,即使宽度和高度都设置为全屏也会留有边距。经过设置可以去去掉边距,但是小坑。 当设置完了之后给布局设置宽高的时候必须要设置为MATCH_PARENT,不然不起作用。本人有个dialog需求是从上面弹出然后 中间的文本太多的话可以自动滚动。dialog的高度可以根据文本的多少来自动调节,高度可以一致是整个屏幕...
2019-12-25 13:44:42
2720
原创 微信支付errCode 返回-1 问题
情况大概是这样的,之前app中已经集成了微信用户免密签约的sdk,也成功吊起微信用户免密的签约的界面并签约成功。版本迭代的时候又加了一个新的功能,需要用到微信支付。当调用服务器接口的时候返回微信的调用支付界面的信息。IWXAPI api = WXAPIFactory.createWXAPI(mBaseView.getContext(), data.getAppid());PayReq payRe...
2018-06-21 20:22:52
5261
原创 Installation failed with message INSTALL_FAILED_TEST_ONLY问题
在gradle.properties文件中添加android.injected.testOnly=false
2018-06-21 19:59:51
2583
原创 测试接口调试银联的webview,跳转过去一片空白
原因:测试接口的证书验证不通过,被系统给拦截了。解决在onReceivedSslError 添加handler.proceed();代码。忽略继续执行public class H5WebViewClient extends WebViewClient { public static final String ERROR_URL = "file:///android_asset/html/erro...
2018-06-21 19:54:39
526
原创 运行出来的debug包抱错,正常包6m运行生成的只有2m。但是点击build 下面的build apk打出来的是可以的
问题描述:当点击运行图标,将android项目运行到手机上完全没有问题,但是把bulid-outputs-apk下面的apk包发给别人的时候却安装不上。报错找不到文件: Caused by: java.lang.ClassNotFoundException: Didn't find class "com.broadthinking.traffic.hohhot.App" on path: DexP...
2018-06-21 19:53:47
162
原创 Imageview 加载大图片一片空白(有的机型)
在manifest文件里面设置 hardwareAcceleration = “false”,就关闭了硬件加速 ,这样是可以加载长图了,但是APP可能会变卡了。再在imageview 的xml属性中添加android:adjustViewBounds="true"...
2018-06-21 19:47:55
1028
原创 上拉刷新下拉加载listview时,当上拉加载后再下拉的时候报角标越界异常(IndexOutOfBoundsException)。
上拉刷新下拉加载listview时,当上拉加载后再下拉的时候报角标越界异常。出现问题的原因,上拉的时候会加载一个footview,当下拉刷新的时候会清除集合中的数据再去加载的数据的时候会报这个错误。主要原因是在清除listView的时候adapter没有刷新 出现这个问题只需要在list.clean();后面加上adapter.notifyDataSetChanged();即可解决...
2018-06-21 19:44:57
310
原创 java二分查找
public int binarySearch(int[] arr,int key){ if (arr == null) { return -1; } int length = arr.length; if (length == 0) { return -1; } int mid = length/2; if (arr[mid] ==
2017-08-30 15:18:22
327
原创 命令行给apk打签名
1.将需要签名的apk包和签名文件xxx.keystore放到jdk中的bin目录下面。mac系统下面为:/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin 目录下面。 2.打开终端切换到bin目录下面。 3.输入命令 jarsigner -verbose -sigalg SHA1withRSA -digestalg S
2017-08-30 15:16:00
416
原创 == 和equals 区别
==一般用于基本数据类型(byte,short,char,int,long,float,double,boolean)的比较,用==比较是比较它们的值是否相同比如: int a = 127; int b = 127; int c =128; int d = 128; System.out.println(a == b); System.out.println(c == d); 结果为
2017-06-19 10:59:52
200
原创 解决侧滑与viewpager冲突问题。
viewPager.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { //意思就是告诉父容器,不要处理Touch事件。解决了侧滑冲突问题。 v.getParent().requ
2017-05-21 17:34:36
425
1
原创 java代码求阶乘
用递归的方式求阶乘 private static long getFactorial(int n){ if (n <= 0 ) { return 0; } if (1== n) { return 1; } return n * getFactorial(n-1); }
2017-05-20 11:26:44
829
原创 java打印99乘法表
private static void printMulTable(){ for (int i = 1; i <= 9; i++) { for (int j = 1; j<=i; j++){ System.out.print(j + “*” +i +”=”+i *j+” “); } Syst
2017-05-19 20:37:40
337
原创 字符串反转
private String reversal(String string) { if (null == string) { return null; } // 将字符串转换为一个字符数组 char[] chars = string.toCharArray(); int length = string.length(); //
2017-05-19 20:19:46
172
原创 输入一个字符串,得到一个long类型的值。如 “342” 得到 342
private long getLong(String string){ char[] chars = string.toCharArray(); int length = chars.length; long number = 0; for (int i = 0; i char c = chars[i];
2017-05-19 19:35:33
337
原创 fragment中使用sharedPreferences保存数据。
sp = this.getActivity().getSharedPreferences("config", Context.MODE_PRIVATE);username = this.getActivity().getSharedPreferences("config", Context.MODE_PRIVATE).getString("fname", ""); pas
2015-06-02 15:32:38
5461
原创 获得assets资源文件夹下的文本文件方法
//获得资源文件夹下的文本文件 public String getText(String name){ try { //Return an AssetManager instance for your application's package InputStream is = getAssets().open(name);
2015-06-02 15:32:07
323
转载 overridePendingTransition的简介 (activity之间跳转的动画设置)
1 Activity的切换动画指的是从一个activity跳转到另外一个activity时的动画。它包括两个部分:一部分是第一个activity退出时的动画;另外一部分时第二个activity进入时的动画;在Android的2.0版本之后,有了一个函数来帮我们实现这个动画。这个函数就是overridePendingTransition这个函数有两个参数,一个参数是第一个acti
2015-06-02 15:32:06
342
原创 图片如何实现滑动效果
PagerAdapter简介PagerAdapter是android.support.v4包中的类,它的子类有FragmentPagerAdapter, FragmentStatePagerAdapter,这两个adapter都是Fragment的适配器,用于实现Fragment的滑动效果,这两个adapter的使用和区别这次就先不介绍了,等下次有时间再做详细的介绍。PagerAdapte
2015-06-02 15:29:06
1004
原创 读取手机通讯录
case R.id.et_person_call:// 调用通讯录的 按钮 Intent intent1 = new Intent(Intent.ACTION_PICK,android.provider.ContactsContract.Contacts.CONTENT_URI); startActivityForResult(intent1, 0);@Override
2015-06-02 15:21:46
544
翻译 解决ScrollView嵌套ListView和GridView冲突的方法
public class MyListView extends ListView { public MyListView(Context context) { super(context); } public MyListView(Context context, AttributeSet attrs) {
2015-06-02 15:20:27
255
原创 wait和sleep的区别
wait和sleep的区别:(执行权和锁区分)wait:可指定等待的时间,不指定须由notify或notifyAll唤醒。 线程会释放执行权,且释放锁。sleep:必须制定睡眠的时间,时间到了自动处于临时(阻塞)状态。 即使睡眠了,仍持有锁,不会释放执行权。
2015-04-29 18:28:12
259
翻译 fragment中点击back键的时候会跳出程序,如何解决。
通过点击按钮添加了一个碎片之后,这时按下Back 键程序就会直接退出。如果这里我们想模仿类似于返回栈的效果,按下Back 键可以回到上一个碎片,该如何实现呢?其实很简单,FragmentTransaction 中提供了一个addToBackStack()方法,可以用于将一个事务添加到返回栈中,修改MainActivity 中的代码,如下所示:public class MainAct
2015-04-27 09:34:26
987
转载 碎片和活动之间进行通信(获取faragment的实例)
碎片和活动之间进行通信虽然碎片都是嵌入在活动中显示的,可是实际上它们的关系并没有那么亲密。你可以看出,碎片和活动都是各自存在于一个独立的类当中的,它们之间并没有那么明显的方式来直接进行通信。如果想要在活动中调用碎片里的方法,或者在碎片中调用活动里的方法,应该如何实现呢?为了方便碎片和活动之间进行通信,FragmentManager 提供了一个类似于findViewById()
2015-04-27 09:30:21
2721
原创 String类型的字符串变成int类型。
public class Demo {/** * @param args */public static void main(String[] args) {String str = "3102233";System.out.println(StringToInt(str));System.out.println(Integer.parseInt("2342242"
2015-04-23 09:43:23
761
转载 Android自定义控件系列 十:利用添加自定义布局来搞定触摸事件的分发,解决组合界面中特定控件响应特定方向的事件
这个例子是比较有用的,基本上可以说,写完这一次,以后很多情况下,直接拿过来addView一下,然后再addInterceptorView一下,就可以轻轻松松的达到组合界面中特定控件来响应特定方向的触摸事件了。 请尊重原创劳动成果,转载请注明出处:http://blog.csdn.net/cyp331203/article/details/45198549,非允
2015-04-23 09:27:10
346
转载 android下属性
android:id 为控件指定相应的ID android:text 指定控件的文本,置尽量使用strings.xml android:grivity 指定控件的基本位置 ,比如举重,居右, android:padding 指定控件的内边距,控件当中的内容 android:singleLine 如果设置为真的话,则将控件的内容在同一行当中显示 android:layout_
2015-04-22 16:21:12
280
转载 bitmap与base64之间的转换
/** * bitmap转为base64 * @param bitmap * @return */ public static String bitmapToBase64(Bitmap bitmap) { String result = null; ByteArrayOutputStream baos = null; try
2015-04-22 16:18:20
1034
转载 拦截MENU按钮点击事件,让他无任何操作
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { if (resideMenu.isOpened()) { resideMenu.closeMenu();// 收回抽屉 }e
2015-04-22 14:43:53
445
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人