- 博客(287)
- 资源 (17)
- 收藏
- 关注
原创 Android中获取全局Context上下文(记录)
说明:每当应用程序启动的时候,系统都会自动将Application类进行初始化。1、创建一个MyApplication类继承Application。/** * 全局状态信息类 */public class MyApplication extends Application { private static Context mContext; @Override...
2019-11-01 11:42:04 806
原创 Android中Permission用户权限管理类
/** * 权限管理 */public class PermissionManager { public static final int PERMISSION_GRANTED = PackageManager.PERMISSION_GRANTED; public static final String CALL_PHONE = Manifest.permission....
2019-10-31 18:01:13 389
原创 Android中如何监听Fragment的上滑和下滑操作(记录)
主要思路:通过对其父Activity的触摸事件的注册与取消注册来达到对该Fragment的手势监听。效果图如下:1、其父Activity主要代码如下:public interface MyTouchListener { /** onTouchEvent的实现 */ boolean onTouchEvent(MotionEvent event);}/**...
2019-10-22 09:54:13 1953
原创 Android中视频录制设置录制方向(记录)
//设置录制方向mCamera= Camera.open(0);mCamera.setDisplayOrientation(90);mCamera.unlock();mediaRecorder.setCamera(mCamera);
2019-09-11 13:27:07 1340
原创 GitHub上常用第三方插件(汇总2)
1、AndroidPicker项目地址:https://github.com/gzu-liyujiang/AndroidPicker安卓选择器类库,包括日期选择器、时间选择器、单项选择器、双项选择器、城市地址选择器、车牌号选择器、数字选择器、星座选择器、生肖选择器、颜色选择器、文件选择器、目录选择器等……2、MultiImageSelector项目地址:https://g...
2019-08-23 09:59:21 720
原创 使用Glide时有错误:“You must not call setTag() on a view Glide is targeting”
在你的清单中添加这个:<application android:name=".App"然后创建应用程序上下文类:public class App extends Application { @Override public void onCreate() { super.onCreate(); ViewTarget.s...
2019-08-12 17:22:04 1020 1
原创 Android中定时任务的实现(总结)
Android中定时任务的实现主要有两种方式:Timer和Alarm。其中,Timer不适合执行那些需要长期在后台运行的定时任务(手机一休眠,Timer的定时任务就可能会无法运行)。而Alarm具有唤醒CPU的功能,比较适合长期后台定时任务。(一)Timer的基本用法private Timer mTimer;mTimer = new Timer();mTimer.schedu...
2019-06-20 16:25:32 661
原创 Android中自定义的日志工具类(记录)
/** * 日志工具类 */public class LogUtil { public static final int VERBOSE = 1; public static final int DEBUG = 2; public static final int INFO = 3; public static final int WARN = 4; ...
2019-06-20 15:47:18 472
原创 Android传递对象数据的两种方式(Serializable和Parcelable)
Android中传递对象数据的方式有两种:Serializable和Parcelable。Serializable方式:通过将对象进行序列化来进行传输。Parcelable方式:通过将对象进行分解,而分解后的每一部分都是Intent所支持的数据类型,从而达到传输的目的。备注:传输效率上来说,Parcelable方式优于Serializable方式。具体步骤如下所示:(一)Ser...
2019-06-20 14:12:24 1027
原创 Android中常用自带组件的用法(总结)
1、CoordinatorLayout加强版的FrameLayout,可以监听其所有子控件的各种事件,然后自动帮助我们做出最为合理的响应。2、CardView(卡片方布局)卡片式布局组件,可以这是圆角以及投影效果。效果图如下:如何使用:(1)添加远程依赖库。implementation 'com.android.support:cardview-v7:27.1.1...
2019-06-19 15:32:14 743
原创 Android中悬浮按钮的实现(记录)
Android自带组件:FloatingActionButton效果图:如何使用:<android.support.design.widget.FloatingActionButton android:id="@+id/NavigationView_FABtn" android:layout_width="40dp" android:layout_h...
2019-06-19 14:16:41 8215 1
原创 Android中动画效果的实现(总结)
Android中的动画分为以下三种:(1)帧动画:本质是通过连续播放图片来实现动画效果。(2)补间动画:设置动画开始,这是动画结束关键帧,中间过程由系统计算并补齐(针对于View组件进行四种动画改变)。(3)属性动画:可以理解为“强化版补间动画”,可以针对于View组件的属性进行动画改变,可拓展性非常强。接下来,分别进行说明:一、帧动画(1)在drawable中添加动画文件...
2019-06-10 10:42:16 959
原创 Android中如何实现APP静默安装(记录)
首先,APP静默安装是需要root权限的。如何判断设备是否有root权限?/** * 设备是否已root * * @return */private boolean isRoot() { if(new File("/system/bin/su").exists() || new File("/system/xbin/su").exists()){ ret...
2019-06-06 15:21:39 2023
原创 Android中系统状态栏以及导航栏的基本设置(总结)
通过对Activity根视图的设置,可以有一些的不同界面效果(通过设置不同的option):1、全屏显示(隐藏状态栏,隐藏导航栏)//全屏显示 隐藏状态栏 隐藏导航栏View decorView = getWindow().getDecorView();int option = View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_...
2019-06-06 10:23:35 3247
原创 Android中如何调用其他字体(记录)
设置TextView的Typeface即可。TextView textView = findViewById(R.id.edit_text);Typeface typeface = Typeface.createFromAsset(getAssets(),"fonts/Roboto-ThinItalic.ttf");textView.setTypeface(typeface);//第一句...
2019-05-31 13:56:18 496
原创 Android中利用ViewStub实现占位延迟加载功能(记录)
ViewStub是一个不可见、不占空间的控件,可以用来实现延迟加载视图功能。其次,ViewStub本身不可见,只有通过设置其Visible可见时,它的视图才会被加载。很简单,之前没注意过这个控件,所以记录一下。相应的布局文件XML代码如下:<?xml version="1.0" encoding="utf-8"?><android.support.constrai...
2019-05-31 11:03:47 800
原创 Android中ConstraintLayout约束布局的使用方法(总结)
首先,声明一下,文章转载于:https://www.jianshu.com/p/17ec9bd6ca8a其次,个人建议:没必要强行的用这个约束布局替代其他所有的布局,我们应该在合适的时候用合适的布局即可,各有各的的优势。这个约束布局的主要作用是解决布局嵌套过多的问题,如果你的布局嵌套比较少,就没必要用这个了。(就和没必要所有的项目都用MVP模式一样)1.介绍约束布局Constraint...
2019-05-24 16:12:01 3572
原创 Android中语音识别与语音播报功能(记录)
功能需求:(1)语音识别,将语音识别为文字,用于语音文字输入功能。(2)语音播报,将文字通过语音的形式播放出来。主要思路:(1)语音识别:使用百度的第三方免费语音识别SDK。(特别注意,只要是使用第三方,强烈建议直接看官方文档,不要看一些博文什么玩意的,除非它的日期是非常非常新的。)(2)语音播报:使用Android自带的TextToSpeech控件即可。效果图:...
2019-05-23 14:48:56 4061
原创 Android中获取视频的第一帧图片(记录)
/** * 播放视频第一帧图片的异步任务 */class MyVideoAsyncTask extends AsyncTask<String, Void, Bitmap> { @Override protected Bitmap doInBackground(String... strings) { String path = strings[...
2019-05-21 11:09:55 3027
原创 Android中如何将大文本文件分解成几个小文件(记录)
/** * 分解文件 * * @param filePath * @param fileCount * @throws IOException */public static void splitFile(String filePath, int fileCount) throws IOException { FileInputStream fis = new FileI...
2019-05-15 17:26:09 859
原创 Android中调用文件管理器进行选择文件(记录)
1、打开系统自带的文件管理器/** * 打开本地文件器 */private void openFileSelector() { Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("*/*");//设置类型,我这里是任意类型,任意后缀的可以这样写。 intent.addCat...
2019-05-14 11:04:58 9847 1
原创 Android中Service Intent must be explicit的解决方案(记录)
Android5.0之后,启动服务就需要显式声明服务了。有以下两种解决方案:1、通过类名来启动(显式启动)。Intent intent = new Intent(mContext, MyService.class);startService(intent);2、隐式启动,需要添加包名信息即可。intentService = new Intent();intentServic...
2019-05-05 09:58:18 401
原创 Android中如何实现重启功能(记录)
以下方式是在设备已root的情况下实现的:/** * 设备重启 */private void deviceRestart() { try { Log.v(TAG, "root Runtime->reboot"); Process process = Runtime.getRuntime().exec(new String[]{"su", "...
2019-04-28 10:59:40 736
原创 AndroidStudio如何进行无线真机调试(记录)
今天记录一下Windows环境下AndroidStudio的无线真机调试方法。备注:在Linux环境下,去掉添加环境变量步骤,另外,再加上安装相应的adb包即可(直接运行 adb devices,会有相应的安装提示),其他没啥区别。步骤如下:一、为了方便使用,将SDK中的platform-tools文件夹添加到系统环境变量中。1、打开高级系统设置,并且打开环境变量。2、选择...
2019-04-16 22:02:38 3316 1
原创 Android中调用外置摄像头(记录)
1、布局文件<?xml version="1.0" encoding="utf-8"?><RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" xmlns:android="http://schemas.android.com/apk/...
2019-04-15 16:31:59 4829
原创 Android利用百度地图API实现定位功能(记录)
本篇主要介绍一下如何使用百度地图API来实现定位以及地图的基本使用。效果图如下:步骤如下:一、申请APIKey。(1)注册百度账号并申请开发者资质:http://developer.baidu.com/user/reg(2)开始创建应用,申请APIKey:http://lbsyun.baidu.com/apiconsole/key其中,SHA1指纹可以通过下面方式获...
2019-04-11 21:20:03 4563 5
原创 AndroidStudio构建项目超时问题(read timeout)
在项目的build.gradle中 repositories和allprojects添加...mavenCentral()maven { url 'https://maven.google.com' }...并将jcenter()放到这两个的下面附加:maven { url 'https://jitpack.io' }...
2019-04-07 10:18:54 4690
原创 Android中文件下载服务的记录(开始、暂停、取消、断点续传等)
本篇主要介绍的是利用服务来进行文件下载功能,其中支持:开始下载,暂停下载,取消下载,断点续传等功能。步骤如下:一、添加远程依赖库okhttp3,这是目前最好用的一款网络服务框架。/*okHttp网络请求*/implementation 'com.squareup.okhttp3:okhttp:3.12.0'二、写一个接口,用于对下载过程中的各种状态进行监听和回调。/**...
2019-03-24 15:54:06 3610 7
原创 AndroidStudio中如何修改新建类头部注释快捷键以及模板(记录)
一、修改头部模板其实很简单,只需要两步:1.打开Setting设置面板,找到File and Code Templates,选择Includes下的File Header2.修改成自己需要的变量名即可二、修改相应快捷键设置函数注释的快捷键:1,打开Settings对话框,执行“File”-“Settings”,在左侧选择“Keymap”。2,在快捷键搜索框...
2019-03-24 15:27:47 869
原创 IOS中Swift完成不同ViewController之间的切换(记录)
我的程序结构是这样的,在一个页面A中有个按钮,然后点击按钮以后,切换到另一个页面B。A和B都在同一个storyboard中。这里先说下通用的方法:手动用代码建好的view controller,即不是在storyboard中建立的: 1 2 3 var vc = ViewController() self.presentViewCo...
2019-03-22 12:48:48 2401
原创 Android中添加第三方远程库失败
在build.gradle文件下,添加以下代码:(添加远程代码仓库地址)maven { url 'https://jitpack.io' }
2019-03-20 23:23:50 288
原创 Android中新线程创建的三种方式(总结)
第一种方式:class MyThread extends Thread { @Override public void run() { super.run(); Log.e("第1个线程", "开始执行耗时任务!"); }}//第一种方式new MyThread().start();第二种方式:class MyThr...
2019-03-20 09:37:48 1839
原创 IOS加密技术之——MD5加密(记录)
(MD5和SHA1的使用方法基本一致,就是一个调用系统的CC_SHA1()方法,一个调用系统的CC_MD5()方法)本篇主要介绍MD5加密的使用方法:1、创建HeaderFile文件My3DES.h。然后,添加以下代码,引用相关的头文件:#import <CommonCrypto/CommonCrypto.h>2、在BuildSetting面板中设置Objective-...
2019-03-19 15:05:56 492
原创 IOS加密技术之——SHA1加密(记录)
这篇主要说明SHA1加密的使用方法:1、创建HeaderFile文件My3DES.h。然后,添加以下代码,引用相关的头文件:#import <CommonCrypto/CommonCrypto.h>2、在BuildSetting面板中设置Objective-C Bridging Header的Value值为第1步创建的桥接文件所在的位置。比如:项目名/文件名.h。3、以...
2019-03-19 14:49:14 1162
原创 IOS加密技术之——3DES加密解密技术(记录)
IOS常用加密技术有三种:3DES、SHA1和MD5。其中,对称加密技术有:3DES和SHA1;非对称加密技术有:MD5;对称加密:加密解密用的是同一个密钥。非对称加密:生成公有密钥和私有密钥。一个加密,一个解密。本篇介绍的是3DES加密解密技术:1、创建HeaderFile文件My3DES.h。然后,添加以下代码,引用相关的头文件:#import <CommonC...
2019-03-19 14:20:12 925
原创 Android中如何Activity背景透明(记录)
<style name="myTransparent" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:windowBackground">@color/transparent</item> <item name="android:windowNo
2019-03-14 12:26:42 599
原创 Android中Git版本控制工具的使用(记录)
本篇关于Windows下的操作步骤。一、下载Git安装包并安装。链接:https://pan.baidu.com/s/1MnE4oOcmeD5ayg8rRDt1rQ提取码:w008二、创建代码仓库(1)配置提交者身份信息。(运行Git Bash)git config --global user.name "crazyboy638"git config --global...
2019-03-13 21:55:41 708
原创 IOS中使用AlamofireImage加载网络图片(记录)
优点使用简单,两行代码加载网络图片 自动缓存,加载过的图片,在没网络的时候仍然可以显示。 有一些常用的扩展,方便对图片进行操作。导入 //使用cocoapods导入 pod 'AlamofireImage', '~> 3.3'使用真的非常简单,两行代码搞定(记得要 import AlamofireImage)let imageView = UIImageV...
2019-03-13 16:02:19 2174 2
原创 IOS中Alamofire第三方网络框架的基本用法(总结)
步骤1安装CoCoaPods类库管理工具:方法:打开终端,输入命令:sudo gem install cocoapods即可自动进行安装。安装完成后,可以输入命令:pod --version查看Pod版本。步骤2(1)创建Podfile文件:方法:在终端cd到项目目录下,运行命令:pod init即可自动创建该文件。(2)修改Podfile文件:# Uncomment ...
2019-03-13 15:27:21 964
原创 Android中ContentProvider(内容提供器)的用法(总结)
内容提供者用途:主要用于不同应用程序之间实现数据共享。比如,读取联系人,两个应用程序之间共享数据等。类型:分为现有的内容提供器(系统自带的)和自定义的内容提供器。实例:一、现有的内容提供器。(读取联系人)public class MainActivity extends AppCompatActivity { private Context mContext; ...
2019-03-12 21:11:54 479
Android中指纹验证功能
2019-06-04
Android中语音识别与语音播报功能的实现
2019-05-23
Android中文件下载服务(开始、暂停、断点续传等)
2019-03-24
Android头像获取(拍照和相册获取)
2019-03-19
Android中常用第三方开源项目(汇总)
2018-11-28
Android属性动画的基本用法(总结)
2018-10-16
Android仿微信发送语音与播放语音
2018-09-30
Android开发中短信验证码功能实现
2018-07-12
Android开发新闻购物类列表并查看详细信息
2018-07-03
底部导航栏+ViewPager滑动翻页
2018-07-03
Android实现底部导航栏
2018-07-02
TextView中图片点击实现图片的缩放功能
2018-06-28
Android开发中动态向ListView中添加RadioButton和CheckBox以及动态改变其Checked状态改变
2018-06-07
Android开发使用SurfaceView和Mediaplayer播放网络视频(功能齐全)
2018-04-07
Vitamio库实现播放网络视频的功能
2018-04-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人