- 博客(45)
- 资源 (2)
- 收藏
- 关注
原创 Android 部分机型不支持防录屏功能,希望有大神指点
Android防截屏防录屏只需要在onCreate中调用getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);方法即可,当截屏的时候,系统会提示“禁止屏幕抓取/无法抓取屏幕截图”等;当录屏的时候,看似能够正常录制,但是保存后的视频,都是一片黑色,并没有APP的相关界面。因安卓机碎片化严重,有些厂商会进行修改,导致有些手机无法实现防...
2019-07-12 18:03:43
5518
5
原创 JAVA 学习总结
一:Java简介1:Java特性面向对象可移植性:健壮性分布式多线程:2:Java工作方式Java 源文件.java ----- Java编译器,编译成.class的字节码文件 ---- 类装载器,装载到JVM虚拟机 -----JVM虚拟机解释到对应的操作系统 ----- 操作系统执行Java是解释型语言3:Java开发系统的构成类库 :标准...
2019-07-08 16:31:57
220
原创 Android Apk 签名
一:为什么要对Apk进行数字签名开发者通过开发工具编译生成的应用程序以.apk命名,借助开发工具、第三方平台或adb命令将其安装到安卓手机上运行或更新。在安装的时候系统会检测apk是否被签名,如果没有签名则无法安装;为防止其他人通过使用相同的包名混淆替换已安装的程序,在发布的时候需要进行唯一的数字签名,保证每次版本的一致性。debug版本的apk,使用系统默认的签名文件debug.keys...
2019-06-05 17:50:01
230
原创 Android Gradle (一)
一:简介Gradle是一款基于Apache Ant和Apache Maven概念的项目开源构建工具,基于Groovy语言来实现,很方便的通过代码达到构建目的,执行Gradle任务的过程,主要是在运行Java/Groovy代码。Gradle构建的大部分功能都是通过插件的方式来实现。二:Android GradleAndroid Gradle 插件属于第三方插件,它托管在Jcenter上,...
2019-05-29 11:16:49
208
原创 Android 数据持久化存储
一:数据持久化何为数据持久化?就是在退出应用程序或重启设备后数据不会丢失,例如每次打开淘宝都可以查看购物车中添加的商品信息和订单情况。在Android中数据持久化实现方式分为内部存储、外部存储、及网络数据,本章节根据数据持久化的方式对数据的存和取进行一一讲解。二:数据持久化方式1:内部存储内部存储方式创建的所有文件都在和应用包名相同的目录下,默认只有当前应用可以访问这些数据,当...
2019-04-10 17:41:52
1322
原创 Android —— KeyStore密钥库
KeyStore密钥库简介为有效保护加密密钥, Android特设了一套密钥管理机制,即KeyStore密钥库。KeyStore为应用提供了生成与获取密钥或者证书的服务,是一个原生的后台守护进程。所有的公钥、私钥、证书都会被存储在密钥库中。密钥库中有很多密钥项,每条密钥项都会对应一个别名,密钥项中存的可能是一个非对称密钥对,也可能是一个秘密密钥,如果保存的是密钥对,那还可能保存一个证书链...
2019-04-03 16:47:31
2342
原创 Android 系统文件目录
1:/acct 系统回收站,删除的系统文件2:/cache缓存目录,需要root权限3:/data 需要root权限/app 所有用户安装的apk文件,不包括系统默认应用文件 /data/包名 每个应用的数据都存放在以包名为命名的文件夹下 package.xml 注册表xml文件 /dalvik-cache...
2019-04-01 15:52:44
1115
原创 Android Studio — — JNI初体验(三)
NDK PREBUILT 共享库Android NDK r5开始支持预编译共享库,共享库分为静态.a与动态.so,相对与将源码提供给使用者这种方式更为便捷,而第三方使用者直接将so库放到项目对应目录下并加载使用即可。NDK 编译so库(内部依赖共享库)本章节主要讲解下自己如何搭建并编译动态库的方式(内部依赖第三方动态共享库),说白了就是现在要用ndk自己编译so库,内部方法依赖其他库(...
2019-03-07 09:23:26
1682
原创 Android开发中的问题集锦
1:编译签名apk后如何输出日志2:低版本手机上无法安装apkAndroid打包生成DEX文件过程中, 单个DEX文件可被引用的方法总数被限制为65536,超出会导致应用无法安装。需要在app.gradle中进行引用Multidex支持库,将一个dex拆分为多个:1> defaultConfig {......// Enabling multidex su...
2019-02-27 17:13:10
1436
原创 Android WebView加载本地服务JSP文件
一:WebView的基础配置二:搭建本地web服务在这里我用的idea是2018.3的社区版本,与其他版本在配置tomcat时有些不一样,具体操作步骤如下:按图步骤创建Web项目:点击finish后生成web项目将web项目发布到Tomcat服务选择File -- Settings -- Plugins 搜索Smart Tomcat插件下载并重启Idea(我...
2019-02-27 16:54:42
3159
2
原创 Android Studio设置(一)
当前为Android Studio3.0.1中的设置,可能根据版本的不同,设置的位置也不同,请自行查看。Setting模块默认包含九种,如下:1、Appearancebehavior:外观与行为2、Keymap:快捷键3、Editor:编辑4、Plugins:插件5、VerSion COntrol:版本控制6、Build、Excution、Deploypent:编译、运...
2019-01-29 17:11:08
778
原创 Flutter基础篇(1)-- AndroidStudio中配置Flutter插件
1:前言Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。(这句话有点熟悉哈 ~ ~)应用程序是用Dart语言编写的,无需移动开发经验即可开始使用。Flutter 基于底层skia直接渲染,整个框架的中心...
2019-01-04 17:55:56
10809
5
原创 Android Studio——JNI 初体验(二)
最近公司来了个小哥,在学习AndroidStudio中怎么使用JNI方法,从一路下载开发工具到各种配置,我真的是陪伴了一路(ps:我也是很心累,长时间不弄我也是问度娘呀~~幸亏没花多少时间)上篇JNI初体验(一)https://mp.csdn.net/postedit/72843352中讲述了使用build工具自动生成.h头文件,这篇主要是手动编译。Android中实现jni必备的操作:s...
2018-12-14 16:49:02
259
原创 Svn功能总结(一)
一:下载并安装svn百度下载即可,这里就不做描述,百度一大把二:checkoutsvn安装成功后,在桌面右键选择checkout后打开如下窗口,输入仓库服务路径(url of repository),选择check的目录(checkout directory),点击ok即可。默认为最新版本(HEAD Revision)如果想check对应版本号可以进行修改(Revision)三...
2018-12-14 15:29:19
1615
原创 Java Idea —— 创建Web项目
1:配置springboot打开idea - File - Settings - Plugins 输入‘spring’进行搜索,这个版本中搜到的是Spring Assistant将其下载下来重新启动Idea即可2:创建服务端项目我这里只选择了WebServices依赖,下一步之后就可以定义项目名称及路径,定义好后就完成项目创建。3:项目配置文件说明pom.xml...
2018-12-13 16:42:22
149
原创 Android新控件及控件属性集合(二)
android:contentDescription属性:安卓部分控件中包含此属性,如TextView、ImageView、ImageButton等,此属性主要是针对那些存在视力障碍的用户,当用户点击带有此属性的控件时,android系统会使用人声朗读此属性中描述的内容,方便用户了解此控件的作用。想要实现人声朗读,这里不光只是将此属性添加到控件中,而是需要借助Android系统的TalkB...
2018-11-14 17:51:32
157
原创 AndroidStudio快捷键
功能 快捷键 代码注释(//) Ctrl+/ 代码注释(/*) Ctrl+Shist+/ 清除无用的包引用 Ctrl+Alt+O 快速覆盖方法 Ctrl+O 放大选中范围 Ctrl+W 缩小选中范围 Ctrl+Shift+W 代码的大小写转换 Ctrl+Shift+U 文件方法结构(查看整个类结构) Ctrl+F...
2018-10-26 17:07:36
150
原创 Android控件及属性集合(一)
RatingBar 星级评分控件 1:星星评分样式xml文件内容<RatingBar android:id="@+id/rb_normal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:isIndicator="false" ...
2018-09-28 18:00:25
312
原创 Win10关闭自动更新
公司win10 电脑最烦人的老是自动更新,一更新时间还好长,耽误时间~然后百度找到了解决办法,简直不要太爽 ~呐呐1:ctrl + alt + delete 打开任务管理器,选择服务并点击下图标红的地方或者用win + R 打开运行窗口并输入services.msc命令打开服务窗口2:打开服务窗口在服务窗口中找到Windows Update - 右键属性 - 将启动类...
2018-06-01 11:12:20
778
原创 Android项目上传gitHub -- ssh验证
GitHub简介:GitHub做为做流行的Git仓库托管平台,其不仅提供Git仓库托管,还是一个非常棒的技术人员社交平台,可以通过开源的项目进行协作、交流。gitHub因为只支持git作为唯一的版本库格式进行托管,所以想要将项目/文件上传到gitHub中必须要使用git工具。GitHub优势:对git版本库提供了http、git-daemon、ssh协议。提供在线编辑文件功能,...
2018-05-06 21:22:18
278
原创 Android实现下拉框选项 —— PopupWindow
public class DocumentTypePopwin extends PopupWindow { private String[] typeAry; private String[] defaultAry = {"身份证", "军官照", "护照", "港澳通行证", "居名户口本", "其他证件"}; private ListView lv; p
2018-03-13 18:01:47
1662
原创 Android UI界面显示效果——集合(一)
1:UI界面 — 带圆角的背景样式在drawable文件夹下新建xml,内容如下 :1> 带填充色的圆角样式<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners a..
2018-03-13 17:46:42
1695
原创 Android UI界面显示效果——集合
1:登录/注册时密码显隐效果if (isShow) { loginPwdEt.setTransformationMethod(PasswordTransformationMethod.getInstance()); loginPwdEt.setSelection(loginPwdEt.getText().length()); eyeImg.setImageResource(R.d...
2018-03-09 16:34:49
2092
原创 Java基础——面向对象(一)
Java面向对象介绍 面向对象(Object Oriented)是一种新兴的程序设计方法,其基本思想是使用对象、类、继承、封装、多态等基本概念来进行程序设计。从现实世界中客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的自然思维方式。 简单点说面向对象的作用就是为了减少重复代码,思维方式则是先考虑整体再细化局部。 1)对象:系统中用来描述客观事物的一个实体,...
2018-01-30 17:57:38
157
原创 Java基础——数组
数组的创建及使用Java中数组分为一维数组、二维数组、三维数组、多维数组,最常用的是一维、二维数组,其他感觉用的很少,这篇博客主要讲解下数组的创建使用等功能一:一维数组1:创建及访问先声明再进行内存分配,声明的方式为:数组元素类型 数组名字[] /数组元素类型[] 数组名字数组声明完成后还不能立即访问它的任何元素,因为声明数组只是给出了数组的名字及元素的数据类型,要...
2018-01-29 17:58:12
175
原创 设计模式前言
一:设计模式描述使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性,降低耦合。二:设计模式类型1:创建型模式描述:这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。类型:工厂模式(Factory Pattern)、抽象工厂模式(Ab
2018-01-15 14:59:21
210
原创 Android —— LinearLayout属性集合(一)
在开发过程中,Android控件/控件属笥有好多都没有使用过,所以这里进行总结学习下 ^ ^一:LinearLayout 线性布局属性1)baselineAligned :该属性默认为true,设为false后将会阻止该布局管理器与它的子元素基线对齐根据图上的布局,将此属性设为false,然后运行后的结果如下:将此属性去掉/设置为true,运行结果如...
2018-01-05 18:16:27
1801
原创 Android开发-Adb命令集合
一:配置ADB的环境变量安装SDK后,将SDK目录下adb的路径添加到环境变量中后,即可直接使用adb命令进行操作二:ADB常用命令安装apk包到设备adb install xxx.apk删除指定目录下apk包adb uninstall ../xx.apk开启adb服务adb start-server结束adb服务adb kill-server覆盖安装a...
2018-01-03 16:26:51
175
原创 Java基础 -- 配置环境并运行
Java开发一般使用的是eclipse开发环境,但是由于电脑内存不足所以暂时使用记事本进行替代。首先要创建一个后缀为.java的文件,记得每一个java文件的基本组成一致,包含以下部分:1:类名必须与文件名称一致,且使用public关键字描述2:安装JDK开发工具并配置环境变量下载JDK并安装,JDK分32、64位,根据当前电脑系统进行选择,步骤可以百度得到(下载JAVA 2S...
2017-12-21 21:37:03
380
原创 Java基础 --- 命名规范、变量等
注意事项: 1:Java变量名会区分大小写String string = "XXX"; 大写String代表字符串类型,小写的为变量名称2:类名称首字母要大写3:所有方法名称必须以小写字母开头4:程序文件名与类名必须一致,后缀为.java的文件5:Java中的main函数为程序入口6:Java中的关键字不能用于变量名、类名、方法名、对象名 标识符命名规范...
2017-12-19 22:29:08
347
原创 Android中使用WebService
今天跟其他公司的小伙伴进行联调,然后我问:你们用的网络请求方式是什么?答:WebService,然后我懞圈了。。。。纳尼,这是个什么鬼咧?? 没办法,各种查资料呗,谁让本人是小菜鸟级别的程序猿嘞!唉~ 一:WebService是何物? Web Service也叫XML Web Service,是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技
2017-12-09 00:10:57
880
原创 Java多线程可见性(一)
一:内存可见性 线程对共享变量的修改,可以及时的被其他线程看到。 那何为共享变量呢?就是在多个线程的工作内存中存在 如下图所示:所谓的共享变量就是主内存中名为S的变量,程序中所有的变量都会存储在主内存中;其他线程也会有自己的工作内存,此工作内存的作用是为线程与主内存之间建立桥梁 由此图总结如下: 1:其他线程不可以直接访问主内存中的变量,必须先与自己的工作内存进行交互再由工作内存与主内
2017-12-05 21:46:34
1087
原创 使用chrome查看真机SharedPreferences文件
使用chrome调试Android程序,需要翻墙,不然调试的界面无法显示出来,会是空白的。 1:chrome浏览器输入chrome://inspect/#devices 2:真机设备打开允许USB设备调试的开关 3:程序gradle文件中配置如下: compile “com.facebook.stetho:stetho:1.2.0” 4:程序入口Application中初始化 Steth
2017-11-17 17:44:27
853
原创 Kotlin优点总结
一:项目中不再使用findViewById 程序中布局文件写的多了,使用findViewById得到控件也成为一个很大的工作量,虽然使用插件可以一键获取,但是也要申明一堆变量,影响美观哦。使用Kotlin开发很快速的将此问题解决,并且可以直接赋值,只需要在项目gradle文件中引用扩展插件即可 classpath”org.jetbrains.kotlin:kotlin-android-exten
2017-11-08 18:02:05
1232
7
原创 Kotlin语言集成初体验
Kotlin最近貌似挺火,终究忍不住想要学习下~ Kotlin的简介百度一大把,这里就不多说,重要是如何使用这种语言来开发Android程序呢? 一:AndroidStudio中集成Kotlin插件(AndroidStudio3.0将此功能集成到ide中) 1:选择进入File->Plugins->Install JetBrains Plugins目录中,搜索Kotlin并选择Install即
2017-11-08 16:53:17
241
原创 Android动态加载Jar包并实现Native方法
一直以来,在Android项目中引用第三方SDK都是将其复制到lib目录下,根据开发环境的不同进行配置(在Android studio中需要使用工具进行添加File dependency到gradle中),便可直接调用内部方法进行实现。现因公司的需求所以更改了引用Jar包的方式,对,那就是动态加载Jar包前提:Jar包为公司内部SDK公司需求:为实现在提供给用户后,防止SDK被篡改,需
2017-07-10 17:58:56
1918
原创 Android IPC -- 初期(实现多进程模式)
首次去了解所谓的IPC机制,那么IPC什么意思?IPC为Inter-Process-Communication的缩写即进程间通信。那么问题又来了,何为进程呢?进程一般在pc/移动端指一个程序或一个应用,也就是你下载安装的某一个软件,我是这样理解的在Android程序中也是可以使用多进程的,通过指定android:process属性来实现即可。例:
2017-06-23 14:09:11
363
原创 Android与JS交互---内嵌框架iframe
1:Android端添加WebView控件,用于加载Html文件WebView webView= newWebView(this);setContentView(webView);webView.setVerticalScrollBarEnabled(false);webView.setHorizontalScrollBarEnabled(false);WebSetti
2017-06-21 16:42:37
7848
原创 Android中改变不同控件的样式(一)
1:为TextView控年添加图片在xml文件中,可以根据 android:drawableLeft=""属性为TextView添加左边图片,实现左边为图标右边为文字的效果,那么问题来了,如果我用的动态布局呢?这时候傻眼了,代码中并没有找到此属性,要实现这样的效果必须再添加个ImageView,但是这样会很麻烦。没办法,因为我懒,所以憋了半天终于找到了方法,并将它贴出来:public st
2017-06-02 14:11:45
476
原创 Android Studio—— jni初体验(一)
Android 中使用JNI是干啥的?具体原理不是很清楚,只知道JNI允许Java语言和c/c++语言进行交互。项目当中如何实现?1> 使用源码2> 使用.so库项目中如何使用源码?1.1:在main目录下创建 jni folder1.2:src目录下创建实现native方法的类1.3:需要配置Ndk,File --> Project Struct...
2017-06-02 13:10:05
349
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人