Android杂记

工作中遇见的小问题,小技巧,小知识点都汇总在这,乱炖

一、 我在Android studio创建来一个新demo,demo所有的按钮文字都是小写,运行的时候发现变成了大写!
Android按钮英文全是大写改为正常
解决方案
最后我发现我Activity引用的是AppCompatActivity ,改成引用Activity就好了,如果你还想继续引用AppCompatActivity,那么需要修改样式。在App总样式上添加该属性即可。


<item name="android:textAllCaps">false</item>

**二、**检查所发送的Intent是否有接收者

今天有一个需求,需要先检查发送的Intent是否有接受者,解决方法如下:

public Boolean getIntentIsAvailable(Intent intent){
        final PackageManager pm = mActivity.getApplicationContext().getPackageManager();
        List<ResolveInfo> list = pm.queryIntentActivities(intent,PackageManager.GET_ACTIVITIES);
        boolean ret = list.size() >0;
        Log.d(TAG,"getIntentIsAvailable["+ret+"]");
        return ret;
    }

三、 java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/params/BasicHttpParams;

通常情况下在app下的 build.gradle
的android层级下加入useLibrary 'org.apache.http.legacy’这样的一句就能解决,但是我把

android {
    compileSdkVersion 29
    buildToolsVersion "28.0.0"
    ``````
	useLibrary 'org.apache.http.legacy'
	``````
}

但是我把项目升级到 targetSdkVersion 28 的时候只加这样一句不能解决问题了,我们还需要在AndroidManifest.xml 的application 节点内加上

<uses-library android:name="org.apache.http.legacy" android:required="false" />

截图如下:
在这里插入图片描述
这样就能解决了。

四、 Android 保持当前activity屏幕常量
在activity的onCreate中添加如下代码:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager
                .LayoutParams.FLAG_KEEP_SCREEN_ON);

五、 为什么我们使用handler的时候创建一个静态内部类的方式能避免内存泄漏?
答:因为静态内部类不持有外部类的引用。
未完待续。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值