- 博客(112)
- 资源 (8)
- 收藏
- 关注
原创 Android 调用系统裁剪,适配11和12及手机
前言:发现Android 调用系统裁剪时,在各Android 版本出现各种问题,踩了一堆坑,做一下总结,免得以后忘记后面会有完整裁剪代码1,一加手机报错intent.putExtra("outputFormat", "png");这句不能加,否则报错2,Android 12不能进入裁剪页面不能加intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);否则无法进入裁剪页面3.Android 12裁剪后无法拿
2022-04-26 16:34:34
4988
1
原创 Android LeakCanary使用和引起内存泄漏原因
依赖debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.0-alpha-2'不需要在application中初始化内存泄漏:1.context的引用例如:UserManager初始化,传入Activity的context就会导致内存泄漏,(因为被引用,导致activity不能被销毁),一般...
2020-03-17 11:58:21
319
原创 Android Studio提示:安装包有异常,无法安装
问题描述:app调试时,点击run安装,显示安装错误,安装包异常出现机型:oppo原因:在Androidstudio3.0上会在debug apk的manifest文件application标签里自动添加 android:testOnly="true"属性。该属性导致在IDE中使用Run生成的apk在大部分手机上只能用adb install -t 来安装。这种apk在oppo手机上甚至...
2020-03-10 09:57:18
1764
2
原创 Android webview注入自己的js代码(js传入function等其他参数解决)
问题产生原因:前端与Android 交互时,调用Android 的方法,但是传入的参数是function例如:这样我们Android这边接收不到值(我网上百度是没找到好方法,有的说让前端传入jsonString给我们,能解决方法,但是前端要改动代码)解决思路:我们加入一个中间层,当js调用Android时,先调其他方法,使传入值变成json在调用Android方法,这样就可...
2019-06-28 14:15:42
5112
1
原创 Android 低功耗蓝牙开发与遇到的坑
过程 搜索-配对-连接-通信目前配对的环节可以省略了1.搜索:我是传统的蓝牙搜索➕低功耗蓝牙搜索一起使用的经典蓝牙:调用mBluetoothAdapter.startDiscovery();这时我们需要注册一个通知来监听回调完整代码如下:/** * 普通设备搜索 */public void searchDevices() { try { ...
2019-06-19 10:36:41
1965
原创 Android 备用
Android utils集合类AndroidUtilCode https://github.com/Blankj/AndroidUtilCode Sutils https://github.com/albert-lii/SUtilsAndroid MVPArms https://github.com/JessYanCodi...
2019-06-04 15:16:22
213
原创 Android studio遇到的奇葩问题
今天重启项目发现项目出现问题1.styles中item全部显示红色2.新建项目,xml中各种乱码,gradel中也是各种乱码,跑不起来项目3.布局无法正常显示,且布局代码不提示解决:第一步,卸载sdk,在重新安装,我用的是28第二步,这时候styles不会报错了,但是class会报一个No IDEA annotations attached to the JDK 1.8...
2019-05-15 18:22:33
274
原创 java各种集合类区别
最近面试经常遇到java集合类的问题,上网搜了一下,做个笔记百度的图集合类型主要有3种:set(集)、list(列表)和map(映射)。集合接口分为:Collection和Map,list、set实现了Collection接口List总结:可以重复,通过索引取出加入数据,顺序与插入顺序一致,可以含有null元素ArrayList:底层数据结构使数组结构array,...
2019-03-27 17:54:45
42887
8
原创 synchronized和volatile的区别
eg:10个请求,同时请求,记录请求成功次数如果使用int count,count++会记录不稳定,因为int线程不安全,如果使用volatile修饰也是一样解决方法 public synchronized void add() { count++; }synchronized和volatile的区别:一旦一个共享变量(类的成员变量、类的静态成员变量)...
2019-03-26 16:45:56
289
原创 Android 监听用户行为操作(AccessibilityService)-模拟点击
Google为了让Android系统更实用,为用户提供了无障碍辅助服务(AccessibilityService).AccessibilityService运行在后台,并且能够收到由系统发出的一些事件(AccessibilityEvent,这些事件表示用户界面一系列的状态变化),比如焦点改变,输入内容变化,按钮被点击了等等,该种服务能够请求获取当前活动窗口并查找其中的内容.换言之,界面中产生的...
2019-03-21 15:57:46
9696
原创 Interface和Abstract的区别
共同点A.两者都是抽象类,都不能实例化B.Interface实现类和abstract继承类都必须实现抽象方法不同点A.Interface需要实现,用implements;Abstract 需要继承,用exendsB.一个类可以实现多个Interface ;一个类只能继承一个AbstractC.Interface强调功能的实现;Abstract强调从属关系D.Interface的所有抽...
2019-03-11 16:27:21
613
原创 Android 观察者模式
1.观察者DataWatcher 实现Observer 接口。 2.被观察者DataChange继承Observable 类。 3.观察者DataWatcher 向被观察者 DataChange 订阅事件(将观察者DataWatcher添加到被观察者DataChange里面去)。 4.被观察者DataChange数据有改变,通知观察者DataWathcer相应的数据有改...
2019-03-11 16:12:29
210
原创 Android 微信h5支付
viewWeb.setProgressWebViewClient(new ProgressWebView.ProgressWebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url.startsWith("weixin...
2019-02-20 18:55:17
568
原创 Android scrollview中自动滑动到底部的问题
原因:scrollview内容改变将scrollview包裹的子控件设置上以下属性android:focusable="true" android:focusableInTouchMode="true"
2019-02-18 18:03:49
1711
原创 android textView识别html标签
tvNovel.setText(Html.fromHtml(response.body().getResult().getContent()));先Html.fromHtml()格式一下
2019-01-28 14:57:00
1130
原创 Android 的简单service和BroadcastReceiver
1.service,startservice在xml中<service android:name="LogService" />java代码public class LogService extends Service { private int time=0; Handler handler = new Handler(); private...
2019-01-26 15:05:36
654
原创 Android 接收不到广播的原因解决
1.高版本,用户发送自定义广播,接收不到信息Intent intent = new Intent();intent.setAction("demo.destroy");intent.setComponent( new ComponentName( "luoy.com.servicebackstage" , "luoy.com.servicebackstage.MyRece...
2019-01-26 14:58:53
21559
5
原创 Android viewpager+ScrollView 高度冲突问题
第一种public class MyViewPager extends ViewPager { public MyViewPager(@NonNull Context context) { super(context); } public MyViewPager(@NonNull Context context, @Nullable Attribu...
2019-01-18 11:56:51
1258
原创 Android 页面跳转动画
动画的xml文件push_in.xml<translate android:duration="300" android:fromYDelta="100%p" android:toYDelta="0" /> push_out.xml<translate android:duration="300" android:fro...
2019-01-16 18:10:14
2292
原创 Android 返回键监听
@Overridepublic boolean onKeyUp(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) { finish(); overridePendin...
2019-01-16 17:59:27
16417
2
原创 Android中添加两个(多个)FileProvider节点问题
android7.0,修改了对私有存储的限制,导致在获取资源的时候,不能通过Uri.fromFile(..)来获取uri了,但是在写入数据的时候是可以通过Uri.fromFile(..)来获取uri的,android 官网给出的解决办法是通过FileProvider来解决这一问题,我们需要在AndroidManifest.xml 配制provider节点。 <!-- 广告-->...
2019-01-09 10:18:07
5297
原创 Android webview 内部跳转
1, 若没有设置 WebViewClient 则在点击链接之后由系统处理该 url,通常是使用浏览器打开或弹出浏览器选择对话框。2, 若设置 WebViewClient 且该方法返回 true ,则说明由应用的代码处理该 url,WebView 不处理。3, 若设置 WebViewClient 且该方法返回 false,则说明由 WebView处理该 url,即用 WebView 加载该 ur...
2019-01-07 14:01:42
7255
原创 Android ViewPager+多Fragment切换出现空白页面的问题
出现环境:Tablayout +ViewPager+Fragment时,滑动,界面都是可以加载的但是当第一次点击最后一个画面时,在往回滑动,会发现有一个画面加载不出来因为这里有个ViewPager的预加载问题,和fragment的生命周期重走,重新创建了view 解决方法1.刚开始就设置viewpager预加载最大的fragmentvpGoods.setOffscre...
2019-01-02 17:40:11
2804
2
原创 Android 加载图片宽度填满,高度自适应图片比列
<ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:adjustViewBounds="true" android:scaleType="fitXY" />
2018-12-27 15:08:34
1697
原创 Android 出现Failed to load AppCompat ActionBar with unknown error解决方法
或者将版本降低
2018-12-18 14:55:40
1756
原创 Android 使用TabLayout遇到的一些问题,及TabLayout的使用
TabLayout提供了一个水平的布局用来展示TabsDesign库:AS有直接的引用现在就可以直接使用1.最简单的demo<android.support.design.widget.TabLayout android:id="@+id/tablayout" android:layout_width="match_parent" android...
2018-12-17 18:41:21
1727
原创 Android 各版本下设置Tablayout的宽度
1.在28.0之前public void setIndicatorWidth(@NonNull final TabLayout tabLayout, final int margin) { tabLayout.post(new Runnable() { @Override public void run() { try { ...
2018-12-17 18:35:57
6971
原创 h5调用Android 的方法
方法//JS交互@JavascriptInterfacepublic int H5Payment(String uid, String money, String cpid, String orderNum) { //AliPay.requestOrderInfo(this,Long.valueOf(uid),orderNum,cpid,money); //Wxpay.r...
2018-11-26 19:15:48
9058
原创 Android 给控件加阴影
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"> <layer-l
2018-11-07 18:50:22
1214
原创 Android Popwindow中有EditView,软键盘覆盖PopWindow解决方法
网上答案都是popupWindow.setSoftInputMode(PopupWindow.INPUT_METHOD_NEEDED);popupWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);我设置时,无效,主要有两个点要注意1.这两个方法顺序不能改变2.放在show之前...
2018-11-06 14:52:14
1530
原创 Android设置EditText弹出软键盘
final EditText editText = findViewById(R.id.et);editText.selectAll(); //默认选中EditText中的所有内容editText.setFocusable(true); //设置可以获取焦点editText.setFocusableInTouchMode(true); editText.requestFo...
2018-11-06 14:36:19
3810
2
原创 Android 拦截WebView请求,并加入或修改参数(GET)
今天遇到一个需求,H5内部调用登录请求,然后手机端给他拼接用户的ID及其他消息这个WebView提供了方法shouldInterceptRequest下面代码,只是简单demo,请求方式是getmWebView.setWebViewClient(new WebViewClient() { @Nullable @Override public WebResour...
2018-11-01 11:29:54
5042
原创 java 中一些小知识
持续更新1.synchronized 关键字,代表这个方法加锁,相当于不管哪一个线程(例如线程A),运行到这个方法时,都要检查有没有其它线程B(或者C、 D等)正在用这个方法(或者该类的其他同步方法),有的话要等正在使用synchronized方法的线程B(或者C 、D)运行完这个方法后再运行此线程A,没有的话,锁定调用者,然后直接运行。它包括两种用法:synchronized 方法和 syn...
2018-10-30 14:18:35
231
1
原创 Android MVP简单封装
以下纯属自己理解,如有错误,请指正学习所谓的封装,我认为就是,写多个Base去继承,将同样的代码放到Base中,减少代码量,也方便控制所以就出现BaseView,BaseBean,BaseModel,BasePresenter,当然BaseActivity,BaseFragment,BaseApplication是必须的BaseApplication可以放一些第三方的初始化,像第三方登...
2018-10-30 11:13:38
343
8
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人