- 博客(51)
- 收藏
- 关注
原创 Android 关于横竖屏切换问题
适配手机和Pad横竖屏:手机:竖屏Pad:横竖屏当动态设置横竖屏时,pad上会先竖屏再横屏。解决:在manifest中 activity上 设置 android:screenOrientation="locked" 再动态加载,就没问题了。
2022-01-04 16:33:41
1881
原创 android.util.SuperNotCalledException: Activity xxx did not call through to super.onConfigura
出现这个错误的原因是因为重写onConfigurationChanged()方法的时候 删掉了super.onConfigurationChanged(newConfig);public void onConfigurationChanged(@NonNull Configuration newConfig) { super.onConfigurationChanged(newConfig)//}
2022-01-04 16:28:37
2394
原创 Android 关于.9图设置拉伸区域无效问题
项目中闪屏页面用到.9图片,但添加后并没有起作用,困扰了我一天.解决问题:1.如果.9在 drawable-hdpi 文件下不起作用,请移动到 drawable-xhdpi 文件下 ,一次类推,或者 移动到drawable-xxhdpi 、drawable-xxxhdpi 文件下 都试一下。2.建议每个分辨率文件下都放一个.9图,注意 图片名字一定要一致,这样才能各个机型都能够适配。...
2021-03-03 14:01:52
1542
原创 ViewPager 监听滑动的三个方法
mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { /* 当页面在滑动的时候会调用此方法,在滑动被停止之前,此方法回一直得到 ...
2020-08-04 14:11:28
4709
2
原创 Android App 静默升级
app静默安装的意思也就是不用手动去点击安装,完全自动化,无需人工操作。但是前提是app必须有系统权限。由于我做的是定制化的,所用的系统是8.0有效,其他没测试过。1、app应用必须经过系统签名,怎么签名我这就不说了,可以查一下其他资料2、apk下载过程可以参考https://blog.youkuaiyun.com/why_111/article/details/1072115113、有了系统权限之后 ,记得在Manifest.xml目录下添加 :android:sharedUserId="a..
2020-07-08 18:58:56
4801
2
原创 Android app 内部在线升级
app在线更新是一个比较常见需求,新版本发布时,进入app,会弹出更新提示框,第一时间更新新版本app。在线更新分为以下几个步骤:1.请求api2.检查版本3.下载最新版本apk4.安装apk下载apk如下:// mUpgradeAddress:下载apk的地址,size: apk的大小 private void downloadAPK(String mUpgradeAddress,int size) { try { UR.
2020-07-08 18:34:28
3134
原创 Java List批量删除remove()方法陷阱
Java List在进行批量删除remove()的时候,只会删除一条数据的问题: for (int i = 0; i <list.size() ; i++) { if(i > position){ LOG.info("remove : "+i); list.remove(i); i--; } }在元素被移除掉后,进行索引后移,特此记录一下。...
2020-06-29 15:57:01
1204
原创 android.util.AndroidRuntimeException: requestFeature() must be called before adding content 错误解决方法
Activity全屏,网上的代码如下:protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏 this.getWindow().s...
2019-08-06 14:33:19
914
原创 Android --前台通知 Notification
最近项目中有遇到这样一个问题:app在视频会议中,退出后台去做其他事情,不到一会的时间我的app就死掉了,后来推测是因为我的app占的cpu太大,让系统给杀死了。然后就想到了前台服务Notification,我也是第一次了解前台服务,所以就记录一下。一 概述Notification,俗称通知,是一种具有全局效果的通知,它展示在屏幕的顶端,首先会表现为一个图标的形式,当用户向下滑动的时候,展...
2019-04-03 16:04:10
2644
原创 Android Button 中的Strings自定转换为大写的解决问题
在AS中去添加控件,会发现写在Button上的文字运行后自动切换为全是大写字母。解决方法有两种,1.如果控件不算多,那么可以在每个控件下面加上一个属性。android:textAllCaps="false"2.如果布局文件中控件相对比较多,特别在做项目的时候可以直接在主题的文件中设置该属性app\src\main\res\values\styles.xml<it...
2019-04-02 15:33:40
354
原创 android ---------------- 手机验证码
//手机验证compile 'com.github.yidun:captcha-android-demo:2.4.2'implementation 'com.android.support:recyclerview-v7:26.1.0'<?xml version="1.0" encoding="utf-8"?><RelativeLayout ...
2019-03-19 11:22:06
162
原创 Android studio 无法预览xml布局 以及 R文件丢失
1、无法预览xml布局:可在res\values\styles.xml 中 修改 parent 中的 Theme.AppCompat.Light.DarkActionBar前面添加Base. 就可以啦。2、丢失R文件Build->Rebuild Project即可。...
2018-09-19 10:49:40
348
原创 android viewpager 实现画廊效果
首先看一下效果图: xml布局:<?xml version="1.0" encoding="utf-8"?><LinearLayout android:id="@+id/fol_lnlay" android:orientation="vertical" android:clipChildren="false" android:l
2018-06-17 18:22:23
916
原创 android imageview 设置圆角
例图: 接下来就看一下具体的代码:public class RoundAngleImageView extends ImageView { private Paint paint; /** * 个人理解是 * * 这两个都是画圆的半径 */ private int roundWidth = 20; private int...
2018-06-17 18:12:28
12580
2
原创 android-------------------手机验证码
在build.gradle中: apply plugin: 'com.mob.sdk'MobSDK { appKey "25ee56c67f230" appSecret "be0d569934eeb6d8a22142a7f5d9e0fe" SMSSDK {}}添加依赖: compile 'com.github.yidun:captcha-a...
2018-06-15 21:49:29
331
原创 自定义view 之 加减
先看一下效果图: ---------------------------------shape-----------------------------<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/andr...
2018-05-29 08:46:26
237
原创 Android 数据存储的五种方式
Android平台进行数据存储的五大方式 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 4 使用ContentProvider存储数据 5 网络存储数据...
2018-05-26 11:13:09
409
原创 Android----调用相机、相册裁剪
-----------------------相机 裁剪-----------------------------------public class MainActivity extends Activity{ private ImageView imageView; private String path = Environment.getExternalStorageDirectory()...
2018-05-17 15:54:17
191
原创 Android 之 PopupWindow 框
/** * 创建,并显示popupwindow:显示出来的高度和宽度,,,取决于创建对象时候设置的宽度和高度 */public class MainActivity extends Activity { private PopupWindow window; private Button btns; private View view; private EditText edit_text; pr...
2018-05-17 15:09:54
251
原创 Android 之 AlertDialog对话框
/** * 弹出对话框 文本 单选 多选 自定义 */public class MainActivity extends Activity { private int index = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setC...
2018-05-17 15:08:09
362
原创 Android----MVP+Rxjava+Retofit 结合使用
添加依赖: compile 'io.reactivex.rxjava2:rxjava:2.0.2'compile 'io.reactivex.rxjava2:rxandroid:2.0.2'compile 'com.squareup.retrofit2:retrofit:2.0.2'// Retrofit库compile 'com.squareup.okhttp3:okhtt...
2018-05-17 15:01:26
2069
1
原创 android RecyclerView 下拉刷新 上拉加载
xml:<android.support.v4.widget.SwipeRefreshLayout android:id="@+id/srfl" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.R...
2018-05-13 19:07:54
231
原创 android 语音集成
讯飞语音开发集成地址http://www.xfyun.cn/ 解压后的doc文件夹下的msc develop 文件中有详细集成步骤 AppId: 1.先要注册开发者账户, 添加我的应用 , 下载sdk2.下载后将sdk解压, 把案例导入工程中运行看看效果 3.将libs下的两个jar包添加到libs目录下, 将同路径下的其它 .so文件(与c进行交互)复制到main路径下新建的 jniLibs(...
2018-05-10 09:32:01
113
原创 Fresco 圆形 圆角 动图
添加依赖:compile 'com.facebook.fresco:fresco:0.12.0'// 支持 GIF 动图,需要添加 compile 'com.facebook.fresco:animated-gif:0.12.0' // 支持 WebP (静态图+动图),需要添加 compile 'com.facebook.fresco:animated-webp:...
2018-05-08 15:04:29
1318
原创 按钮样式 -----------shape
在drawable下:<shape xmlns:android="http://schemas.android.com/apk/res/android"> <!--填充背景色 --> <solid android:color="#ffff00" /> //solid 指的是背景颜色的设置 <!--描边 他需要 2个参...
2018-05-03 10:14:36
247
原创 android 自定义view 历史记录
===================activity=============public class MainActivity extends AppCompatActivity { private String mNames[] = { "好好学习","天天向上","我要疯了", "学不会啊,怎么办呢","感觉天书一样","神啊,救救我吧!!.
2018-05-03 08:26:59
327
原创 android --去掉模拟器的标题
在清单文件里,android:theme="@style/Theme.AppCompat.Light.NoActionBar"
2018-05-01 18:45:11
1275
原创 android-----属性动画
Animator属性动画主要的类都在android.animation命名空间下,Animator是属性动画的基类,其是一个抽象类,该类定义了许多重要的方法,如下所示:setDuration(long duration) 通过setDuration方法可以设置动画总共的持续时间,以毫秒为单位。start() 通过start方法可以启动动画,动画启动后不一定会立即运行。如果之前通过调用setStar...
2018-04-25 11:51:38
255
原创 android---recyclerview---OkHttp--请求网络--下拉刷新
===============布局============<?xml version="1.0" encoding="utf-8"?><LinearLayout android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:a...
2018-04-22 15:39:06
471
原创 android -----自定义View实现搜索添加到历史纪录
===============Flowlayout=============public class XCflowLayout extends ViewGroup { //储存所有子View List<List<View>> mAllChildV5iews = new ArrayList<>(); //每行的高度 List&l...
2018-04-16 16:29:01
594
原创 自定义View-----点击小球转动
public class MyView3 extends View implements View.OnClickListener{ private Paint paint; private int width; private int height; private int centerX; private int centerY; privat...
2018-04-12 17:45:01
259
原创 Rect和RectF之间的区别和联系
Rect和RectF之间的区别和联系 1.Rect的参数为int类型,而RectF的参数类型为float类型,从这一点上来看,RectF的精度更高一些,但是他们都是通过四个坐标参数来确定一个矩形的区域。 RectF一共有四个构造方法: RectF()构造一个无参的矩形 RectF(float left,float top,float right,float bottom)...
2018-04-12 13:00:02
1286
原创 什么叫进程?什么叫线程?
进程和线程都是由操作系统所体现的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。 进程和线程的区别在于: 简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。 另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。 线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、...
2018-04-09 21:16:59
380
原创 Handler的底层原理实现
Handler:用来发送消息,处理消息 Message:消息实体对象,handler通过sendMsg将实体放到消息队列里面 MessageQueue:存放消息的队列 Looper:消息轮询器,轮询消息队列的消息然后取出,交给handler处理关于Handler的几个问题1.Handler可以new 多个吗?Handler可以有多个2.Looper可以有多个吗?Looper可以有多个,但是一个线程...
2018-04-09 21:05:51
344
原创 HBuilder ------混合开发 -----增删改查
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="js/angular.min.js" >&
2018-04-02 11:40:16
2258
原创 android-------PullToRefresh 下拉和上拉简单实现
/** * 接入PullToRefresh * 1.引入Library * 2.依赖model * 3. 布局文件中使用可刷新的控件 * 4. 设置可刷新监听--> mPullRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() * 设置可以...
2018-02-25 18:39:39
228
原创 android---------TabLayout 的基础应用=====横向滑动菜单
gradle中添加依赖*compile'com.android.support:design:26+'/** * 1--写tablayout * 2--- 写viewPager * 3-- 写viewPagerAdapter * 4-- 让TabLayout和Viewpager关联; */布局文件代码 <?xml version="1.0" encoding="utf-8"?&g...
2018-02-25 18:28:57
311
原创 android ---ViewPager 无限轮播
ViewPager概念:ViewPager是一个允许使用者左右滑动数据页面的布局管理器。你可以通过一个适配器(PagerAdapter)来管理要显示的页面。不过要注意的是,这个类目前还处于初期的设计和开发。随着今后兼容库的更新,API文档也会进行更改,同时应用程序在编译时也需要对代码进行一定的修改。ViewPager更多的时候会与Fragment一起使用,这是一种很好的方法来管理各个页面的生命周期...
2018-02-24 16:21:55
283
原创 android事件传递全解析
在讲正题之前我们讲一段有关任务传递的小故事,抛砖迎玉下:话说一家软件公司,来一个任务,分派给了开发经理去完成:开发经理拿到,看了一下,感觉好简单,于是开发经理:分派给了开发组长开发组长:分派给了自己组员(程序员)程序员:分派给了自己带的实习生。实习生:好苦逼,无法分派,怎么办啊?只能自己干了但是实习生能不能做好,有两种情况了。情况一:实习生:经过一段时间的研究,琢磨,熬夜,奋斗,死敲,皇天不负有心...
2018-02-24 11:16:09
138
原创 Android-----------横向滑动菜单
一、 项目ui需求分析简介:横向滑动菜单是当今主流App中很常见的一种自定义控件。主要用于适配多个分类而出现的,一般常见于分类很多的时候,一屏控件无法容纳全部分类,这样我们需要让用户去手动滑动,以便查看屏幕以外的分类信息。如果点击不同分类,正在点击的菜单会自动居中显示,点击后可显示不同分类的ui界面。如:今日头条的顶部导航栏就是一个自定义横向滑动菜单,如图所示。作用:由于手机屏幕宽度有限,所...
2018-02-23 18:21:22
3731
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人