Android开发
lanyu96
有些事不是因为看到了希望才去坚持
而是因为坚持了才能看到希望
展开
-
Android canvas.drawText文字居中(记录)
Rect rect1 = new Rect(100,100,500,500);//画一个矩形 Paint rectPaint = new Paint(); rectPaint.setColor(Color.BLUE); rectPaint.setStyle(Pa...原创 2019-07-09 18:53:03 · 257 阅读 · 0 评论 -
EventBus补充
EventBus初级使用EventBus接收消息 :ThreadMode.MAIN 表示这个方法在主线程中执行 ThreadMode.BACKGROUND 表示该方法在后台执行 , 不能并发处理 ThreadMode.ASYNC 也表示在后台执行 , 可以异步并发处理 ThreadMode.POSTING 表示该方法和消息发送方在同一个线程中执行粘性事件之前说的使用方法, 都...原创 2018-12-06 10:46:11 · 286 阅读 · 0 评论 -
EventBus的初级使用--Activity间传递消息
Activity 间的数据通信,对于数据量比较大的,避免使用 Intent + Parcelable的方式,可以考虑 EventBus 等替代方案,以免造成 TransactionTooLargeException。EventBus是一款Android下的发布/订阅事件总线机制。可以代替Intent、Handler、Broadcast等在Fragment、Activity之间传递消息。优...原创 2018-12-06 09:30:53 · 5751 阅读 · 0 评论 -
Android 中 include的使用
include就是在一个布局中,导入另一个布局include 可以使相同的页面就写一次, 提高了共同布局的复用性先定义一个共通布局布局里先随便写一个按钮控件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/re...原创 2018-12-05 14:29:49 · 1257 阅读 · 0 评论 -
控件WebView显示网页
一、代码编写(一)方法一:通过打开app直接打开指定网站1.打开Android Stutio,新建一个工程,名为Sdca。注意,名称开头必须为大写。2.添加WebView控件打开app esactivity_main.xml添加WebView控件在activity_main.xml中添加WebView控件并设置宽高为充满屏幕。< WebView3.调用控件,实现指...原创 2018-09-25 18:51:00 · 236 阅读 · 0 评论 -
Android 接收监听开机完成,并且开机自启动
1,定义一个广播接收者的类 ,并重写抽象方法public class BootCompleteReceiver extends BroadcastReceiver2,在Androidmanifest 注册<receiver android:name=".receiver.BootCompleteReceiver" android:enabled="true" ...原创 2018-10-17 10:20:00 · 198 阅读 · 0 评论 -
getSupportFragmentManager().beginTransaction().add报错cannot resolve method 'add'
getSupportFragmentManager().beginTransaction().add报错cannot resolve method 'add'是导包的问题,所有包要保持一致,有app下的包,要保证都为app下的包v4的包要保证都为v4的包 ...原创 2018-10-17 16:01:00 · 2809 阅读 · 0 评论 -
通过Timer类实现App 启动页停留三秒效果
Timer timer = new Timer(); //参数1:每次执行的任务代码 参数2:延时多少毫秒执行 参数3:任务间隔 单位:毫秒 timer.schedule(new TimerTask() { @Override public void run() { /...原创 2018-10-17 16:29:00 · 10802 阅读 · 0 评论 -
SharedPreferences 的使用,commit和apply两个方法的区别
SharedPreferences sp = getSharedPreferences("config",MODE_PRIVATE);//第一个参数:存储文件的名称,第二个参数文件的访问权限,通常MODE_PRIVATE是私有存储sp.edit().putString("USERNAME",usernameStr).putString("PASSWORD",passwordStr)....原创 2018-10-17 19:44:00 · 1397 阅读 · 0 评论 -
通过Handler实现在子线程中更改UI
Handler接收到子线程发送过来的消息后,因为当前代码是运行在主线程中的,所以可以进行UI的修改第一种方式: private Handler handler = new Handler(){ //Handler sendMessage后此方法会接收到 //参数msg就是实际传过来的msg对象 @Override p...原创 2018-10-17 16:20:00 · 1814 阅读 · 0 评论 -
Android--拨打电话功能
Intent callIntent = new Intent(); callIntent.setAction(Intent.ACTION_DIAL); callIntent.setData(Uri.parse("tel:" + "4008823823")); ...原创 2018-10-17 18:06:00 · 279 阅读 · 0 评论 -
Android--补间动画
旋转动画 RotateAnimation ra = new RotateAnimation(0 ,720 , Animation.RELATIVE_TO_SELF //相对于自身的0.5 ,0.5f ...原创 2018-10-17 18:24:00 · 4258 阅读 · 0 评论 -
Android Content Provider(内容提供者)
什么是Content Provider应用程序间共享数据的一种方式 为存储和获取数据提供了统一的接口 Android为常见的一些数据提供了默认的ContentProvider Uri : 通用资源标识符 创建和使用Content Provider的步骤:图片从视频网上copy的下面写一个利用Content Provider 读取手机通讯录联系人姓名,并将名字显示在TextV...原创 2018-12-06 20:27:20 · 253 阅读 · 0 评论 -
GSON的使用以及GsonFormat工具的安装
添加gson依赖Gson gson = new Gson(); 添加GSON 格式化工具到此 Gson格式化工具已经安装完成使用json输入或者粘贴进输入框点击右上角的Format 可以自动格式化点击ok会自动生成如下代码package com.lanyu96.mvpdemo.Demo02;public class...原创 2018-12-09 11:04:49 · 8759 阅读 · 0 评论 -
Action Bar 的相关操作
要想将所有Activity 的Action Bar隐藏或者单独隐藏某个或某几个Activity中的Action Bar只需要再AndroidManifest.xml中将对应的theme改成后缀为 NoActionBar, 如 <activity android:name=".Demo01" //更改当前Activity的ActionBar为隐藏...原创 2018-12-07 15:25:42 · 140 阅读 · 0 评论 -
Android service在某些Android版本上被kill后无法自动启动
Android widget插件,需要服务一直运行,定时更新时间及天气数据,但是在Android 7.0的设备上测试没有问题,虽然锁屏一段时间后,即手机进入休眠状态后,服务会暂停,但手机在亮屏的瞬间,服务会重新启动。这是在控制功耗的情况下比较完美解决。然鹅,运行在Android 9.0的设备上,问题就出现了,就算不锁屏运行一段时间后,服务都会自动终止,且无法重新启动,手机关机重启后,没启动。...原创 2019-06-09 10:11:43 · 3340 阅读 · 0 评论 -
Android 判断服务是否正在运行的方法
可以运行系统自带的函数来检测服务 getSystemService 是否正在运行,具体实现方法如下 /** * 判断服务是否在运行 * @param context * @param serviceName * @return * 服务名称为全路径 例如com.ghost.WidgetUpdateService */ ...原创 2019-06-08 22:52:56 · 5486 阅读 · 1 评论 -
切换不同的数据状态布局,包含加载中、空数据和出错状态(利用开源框架)
implementation 'com.github.Bakumon:StatusLayoutManager:1.0.4'将要动态加载的布局用SwipeRefreshLayout包含,布局如下 <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/act_index_srl"...原创 2019-05-11 20:17:54 · 312 阅读 · 0 评论 -
Android下拉刷新开源框架
添加依赖 //下拉刷新 implementation 'com.jcodecraeer:xrecyclerview:1.5.9'xml引用 <com.jcodecraeer.xrecyclerview.XRecyclerView android:id="@+id/act_xrecycler_rv" android:layo...原创 2019-01-16 21:23:29 · 441 阅读 · 0 评论 -
RadioButton的样式设置 以及使用
RadioButton通常要配合RadioGroup使用 基础的RadioButton使用的xml代码如下 <RadioGroup android:id="@+id/act_test_radioGroup" android:layout_width="wrap_content" android:orientation="hor...原创 2018-12-30 10:34:09 · 2857 阅读 · 0 评论 -
Android Studio 多渠道打包
友盟的多渠道打包在AndroidManifest中添加<meta-data <?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.andr...原创 2018-12-29 14:36:03 · 263 阅读 · 0 评论 -
侧滑抽屉菜单 FlowingDrawer
导入依赖 implementation 'com.mxn.soul:flowingdrawer-core:2.0.0' implementation 'com.nineoldandroids:library:2.4.0'在styles.xml文件中 新建一个主题 目的为了去除标题栏, 防止侧滑菜单和标题栏冲突<resources>...原创 2018-12-22 14:07:44 · 849 阅读 · 0 评论 -
安卓图标设计插件
Android-material-design-icon-generator-plugin:安卓插件的步骤 : Android Studio 打开设置 安装完成后 重启 Android Studio 使插件生效插件的使用生成成功原创 2018-12-22 11:11:38 · 485 阅读 · 0 评论 -
Butterknife 的简单使用 和 配合 Butterknife的插件 Zelezny
点击跳转到GitHub减少代码量引入Butterknife 的依赖 implementation 'com.jakewharton:butterknife:9.0.0-rc3' annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc3'下面是官方提供的java示例clas...原创 2018-12-22 10:06:50 · 228 阅读 · 0 评论 -
Android开发中EditText获得焦点弹出输入框改变屏幕布局
再AndroidManifest.xml 中设置 Activity的属性 再AndroidManifest.xml 中设置 Activity的属性 <activity android:name=".ui.HomeActivity" //这一行即设置弹出输入法后, 不改变Activity的布局 android:windowSoftInpu...原创 2018-12-26 23:06:57 · 301 阅读 · 0 评论 -
Android Intent相关
//当打开新的页面, 然后返回主屏幕后, 再次打开应用不保留新打开的页面 Intent intent = new Intent(MainActivity.this,secondActivity.class);intent.setFlags(intent.FLAG_ACTIVITY_NO_HISTORY);startActivity(intent);//Intent 跳转的两种...原创 2018-12-20 21:03:33 · 90 阅读 · 0 评论 -
Android--字符串处理
TextUtilsTextUtils.isEmpty(str); //判断字符串是否为空TextUtils.equals(str1,str2); //判断两个字符串是否相等原创 2018-10-17 19:37:00 · 154 阅读 · 0 评论 -
ListView点击条目自动跳转到相应页面
private String[] itemName= new String[]{"1","2","3","4","5" ,"6","7","8","9","10","11"};创建条目数组 ArrayAdapter<String> ad原创 2018-10-17 21:03:00 · 3686 阅读 · 0 评论 -
Android 使用百度地图API来显示地图
http://lbsyun.baidu.com/进入百度地图开放平台,登录百度账号选择应用类型为Android SDK发布版SHA1,和开发板SHA1的获取方法为:找到电脑上的.android路径,一般都在C盘用户目录下,有的配置Android环境变量的话可能在SDK的目录下然后打开Android Studio,打开Terminal进入到.andr...原创 2018-11-11 13:39:00 · 4730 阅读 · 1 评论 -
地图实时定位我的位置
首先需要显示地图,请看我的另一篇文章Android 使用百度地图API来显示地图然后实时获取定位信息中的经度和纬度,Android 获取LocationProvider以及获取定位信息然后启动定位功能标记我的位置开启定位图层 setMyLocationEnabled(true) 构造定位数据 MyLocationData对象 设置定位数据,并配置定位图层的信息 关闭定位图...原创 2018-11-11 16:59:00 · 6811 阅读 · 0 评论 -
RecyclerView添加点击事件
有关RecyclerView的用法Android滚动组件RecyclerView 的用法RecyclerView添加点击监听第一种方法:在自定义的Adapter中的,onBindViewHolder方法中设置 @Override public void onBindViewHolder(LinearViewHolder holder, int position...原创 2018-11-10 11:00:00 · 14171 阅读 · 0 评论 -
Android 接收监听开机完成,并且开机自启动
1,定义一个广播接收者的类 ,并重写抽象方法public class BootCompleteReceiver extends BroadcastReceiver2,在Androidmanifest 注册<receiver android:name=".receiver.BootCompleteReceiver" android:enabled="true" andr...原创 2018-11-04 19:08:29 · 1662 阅读 · 0 评论 -
通过Timer类实现App 启动页停留三秒效果
Timer timer = new Timer(); //参数1:每次执行的任务代码 参数2:延时多少毫秒执行 参数3:任务间隔 单位:毫秒 timer.schedule(new TimerTask() { @Override public void run() { //此处写...原创 2018-11-04 19:07:31 · 7473 阅读 · 0 评论 -
Android--补间动画
旋转动画RotateAnimation ra = new RotateAnimation(0 ,720 , Animation.RELATIVE_TO_SELF //相对于自身的0.5 ,0.5f ,An...原创 2018-11-04 19:06:57 · 93 阅读 · 0 评论 -
Android 生命周期方法
1,onCreate();2,onStart();3,onResume();//打开页面,前三个方法自动执行4,onPause();5,onStop();//打开其他页面,前一个页面执行这俩方法6,onRestart();//onStart(),onResume//当关闭其他页面返回主页面时,执行这三种方法7,onDestroy();...原创 2018-11-04 18:16:34 · 193 阅读 · 0 评论 -
Android 数据库详解 SQLiteOpenHelper
private static final String DB_NAME = "user.db"; private static final String TABLE_NAME = "t_user"; private UserSqliteOpenHelper helper; private ArrayList<User> al = new ArrayList<User>...原创 2018-11-04 18:15:14 · 154 阅读 · 0 评论 -
android studio运行卡慢的解决方案
androidstudio安装目录下 bin/studio64.exe.vmoptions 文件:配置文件将参数调大,比如。-Xms2048m-Xmx2048m-XX:MaxPermSize=2048m-XX:ReservedCodeCacheSize=1024m-XX:+UseConcMarkSweepGC-XX:SoftRefLRUPolicyMSPerMB=50-da-D...原创 2018-10-11 21:11:23 · 2048 阅读 · 0 评论 -
Android studio 使用SimpleDateFormat格式化时间格式,导致程序闪退
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);String dateStr = sdf.format(date);应用闪退,有如下错误java.lang.NoClassDefFoundError: android.icu.text.SimpleDateFormat应用运行闪退是因为 这个方法...原创 2018-10-11 21:07:00 · 2241 阅读 · 0 评论 -
控件WebView显示网页
一、代码编写(一)方法一:通过打开app直接打开指定网站1.打开Android Stutio,新建一个工程,名为Sdca。注意,名称开头必须为大写。2.添加WebView控件打开app esactivity_main.xml添加WebView控件在activity_main.xml中添加WebView控件并设置宽高为充满屏幕。< WebView 3.调用控件,实现指向指...原创 2018-08-24 17:56:31 · 430 阅读 · 0 评论 -
Android 获取LocationProvider以及获取定位信息
获取LocationProvider的三种方法一、获取所有的LocationProvider并用TextView显示出来 //获取显示LocationProvider名称的TextView providerTv = findViewById(R.id.act_provider_tv); //获取位置服务 Location...原创 2018-11-11 10:43:00 · 4558 阅读 · 4 评论