Android中提供一种简单的Toast消息提示框机制,可以在用户点击了某些按钮后,提示用户一些信息,提示的信息不能被用户点击,Toast的提示信息根据用户设置的显示时间后自动消失。Toast的提示信息可以在调试程序的时候方便的显示某些想显示的东西,或者给用户提供友好的界面显示效果。
有两种方式去创建并且显示Toast:
more
Toast.makeText(Context context, int resId, int duration)
Toast.makeText(Context context, CharSequence text, int duration)
Context为上下文,
继续阅读 »
在Android系统中打开Activity,Service, BroadCast 都需要使用到Intent(意图),那么作为一个开发者就需要知道怎么使用Intent,知道怎么通过Intent的匹配规则打开其他的组件,或者给其他组件提供访问接口。因此在这里总结一下Intent和Intent的匹配规则。
Intent使用示例
显式使用Intent
java
Intent intent = new Intent(context, XXXActivity.class);
intent.putExtra(Intent.EXTRA_TEXT, "string text");
隐式使用
java
Intent intent = new
继续阅读 »
文/Robin
由于工作的特殊性,我常年同时使用 4 台手机,2 台 iPhone,2 台 Android 机。其中一台手机是 OnePlus,也就是一加。
可能读者对 OnePlus 陌生,在此笔者做简短的介绍。
一加(全称:深圳市万普拉斯科技有限公司,英语:OnePlus)是中国一家行动通讯终端装置研制与软件开发的企业,于 2012 年 10 月 14 日由刘作虎和裴宇主导成立,其产品于全球多国市场销售。
2019 年 10 月 15 日,一加发布 OnePlus 7T。发布会刘作虎透露关键信息,目前一加手机销量海外占比已经达到 70%,而在国内的占比只占 30%。
2020 年 4 月 16 日,一加发布 One
继续阅读 »
一般我们使用 Navigation Menu 的形式为
```xml
version="1.0" encoding="utf-8"?
```
再加上 v21 的主题:
xml
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@android:color/transpare
继续阅读 »
图解 HTTP
作为 Android 开发人员,HTTP 的相关知识是很重要的一块。《图解 HTTP》是我见过读起来最舒服的一本技术书籍,虽然不像《HTTP权威指南》,《TCP/IP详解》这两本网络圣经来得出名,但是对于不必深刻深入的初学者来说,《图解 HTTP》应该是为最适合的一本书籍。文中大量的图片重在让大家理解其中的原理内容,读起来毫不生涩,非常容易理解。
继续阅读 »
最近由于工作上的需要,研究了一下framework层面的东西。收获良多,感受颇深啊。
在 设置->安全 中选择屏幕锁定,选择屏幕锁定方式为密码,然后勾选显示密码选项,此时应该在输入密码时,先显示输入的密码,过1.5S后将变为小圆点,若取消显示密码则输入直接为小圆点。
而由于“前人”对锁屏的改动造成取消显示密码后,还是先显示密码才跳为小圆点,这是我要解决的BUG。
研究后发现“前人”将 Keyguard 中 com.android.keyguard.KeyguardPasswordView 类 106 行改变了Textview的inputtype,将其恢复后BUG得以解决。
Why?我一头雾水,甚至都不知道是在哪把输入的字符变
继续阅读 »
说在前面
前面的一篇博文中,我们讲到了Preference的一些坑,虽然不多,但是我会保持更新的。
这几天写Hitokoto的过程中也熟悉了甚至可以说基本掌握了Preference的基本使用,数据的存储以及默认值的设置,都已经没有问题了,但是再写“显示当前”的时候,需要弹出一个Dialog,有了之前EditTextPreference的坑之后,我没有尝试,我想应该也会报一个主题的问题,毕竟当时的错误是报在AlertDialog上的,所以我有直接写。
我查了一下Android的文档,发现官方中似乎有一个叫做DialogPreference的控件,但是这个类是一个抽象类,不能实例化,而之前提到的常用的Preference中,Edi
继续阅读 »
Android兼容库从24.2.0开始,对support-v4做了分库处理,原有的support-v4库拆分成为了support-compat、support-core-ui、support-fragment等库,本着稳定的原则,一直到25.0.0才开始在项目中升级support-v4库,将原有的support-v4替换为support-core-ui(其实,项目中只用到了ViewPager,SwipeRefreshLayout而已)以减少apk体积。然而问题来了,编译时出错,提示存在重复的类库。为保证support库版本一致,我还统一定义并使用了各模块的support版本变量,使用gradle dependencies查看依赖的时
继续阅读 »
从java 5.0开始,为我们提供注解功能,通过注解可以限制代码的重载,过时,以及实现一些其他功能,这里,就来分析一下java的注解。
java 元注解
首先来看java元注解,分别是:
more
@Target
@Retention
@Documented
@Inherited
这些注解和他们所修饰的类在java.lang.annotation包中,代码都很简单,可以去查看一下。
@Target 描述注解的使用范围,取值:
ElementType.CONSTRUCTOR:描述构造器
ElementType.FIELD:描述成员变量
ElementType.VARIABLE: 描述局部
继续阅读 »
service
概述
后台运行,不可见,没有界面。(在activity中完成的事物,在服务中也可以完成)
优先级别高于activity
应用场景:eg:
1. 后台播放音乐
2. 后台下载应用
3. 记录GPS位置 监听某一特定的动作
4. 处理数据,处理当前不一定及时需要展现给用户的数据
5. 进入应用时加载本地资源(数据库等) 在后台操作提高交互性
6. 全家桶唤醒
7. ……
全家桶
生命周期
创建服务
要创建服务,您必须创建 Service 的子类(或使用它的一个现有子类)。在实现中,您需要重写一些回调方法,以处理服务生命周期的某些关键方面并提供一种机制将组件绑定到服务(如适用)。 应重写的最重要的回
继续阅读 »