自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(159)
  • 资源 (1)
  • 收藏
  • 关注

原创 【Android】用Android Studio将项目打包成apk

1、Build——Generate Signed Bundle or APK这里不是mykey,而是android.keystore2、

2020-11-25 13:40:05 6

转载 【Android】Canvas画布高级应用

一、Canvas详解基础概念:画布,通过画笔绘制几何图形、文本、路径和位图等常用API类型:常用API分为绘制、变换、状态保存和恢复1.3、状态保存和恢复调用save函数,压栈;restore函数,出栈。二、粒子特效首先来看效果:分析:基本思路就是把这张图转成粒子,然后实现它的爆炸效果,就是将转换后的粒子进行位置的移动,类似于自由落体运动。首先我们肯定是要准备一张图片,然后先来看下面这几行代码:Bitmap bitmap = BitmapFactory.decodeResource(

2020-11-21 16:02:22

转载 【Android】Paint画笔的高级应用

一、Paint基本使用1.1、概念画笔,保存了绘制几何图形、文本和位图的样式和颜色信息1.2、常用API关于常用API这里简单列举一些常用的,具体的使用方式我这里也都给出了注释,实际上也就是掌握里面的参数具体是如何使用的,大家可以自己对照着写写感受一下: mPaint = new Paint(); //初始化 mPaint.setColor(Color.RED);// 设置颜色 mPaint.setARGB(255, 255, 255, 0); // 设置 Paint对象颜色,范

2020-11-21 15:12:54

原创 【C++】语言基础笔记

头文件.h 文件中能包含:类成员数据的声明,但不能赋值类静态数据成员的定义和赋值,但不建议类的成员函数的声明非类成员函数的声明常数的定义:如:constint a=5;静态函数的定义类的内联函数的定义不能包含:所有非静态变量(不是类的数据成员)的声明默认命名空间声明不要放在头文件,using namespace std; 等应放在 .cpp 中,在 .h 文件中使用 std::string类型限定符限定符含义constconst 类型的对象在程序执行期

2020-11-21 13:57:54 24 1

原创 【Android】viewpager的setOffscreenPageLimit方法作用

大家都知道,viewpager是默认预加载下一页的界面的。viewpager提供了一个设置预加载页面数量的方法,那就是setOffscreenPageLimit()。默认不设置数量的情况下预加载下一页。设置0和1是同样的效果。修改setOffscreenPageLimit的值为2,运行程序。显示第一页第二页第三页都创建了然后往右滑到第二页,第四个界面创建了,滑到第三页,第五个界面创建了。再往右滑到第四页,第一个界面销毁。viewpager每次切换的时候, 会重新创建当前界面及左右界面三个界面, 每次切

2020-11-20 10:51:27 10

原创 【Android】View是如何被添加到屏幕窗口上的

1、创建顶层布局容器DecorViewDecorView对象是ViewGroup容器,继承自FrameLayout,是ForWindow对象持有的一个实例,是所有应用程序的顶层View,在系统内部进行初始化。DecorView初始化完成后,系统会根据应用程序的主题特性加载一个基础容器,主题可能为noActionBar或者DarkActionBar等,虽然主题可能不同,但基础容器中一定会有一个onDraw.R.id.content的容器FrameLayout。开发者setContentView设置的xm

2020-11-17 22:23:48 12

原创 【Android】Color的定义、设置、转换、拾取

参考:https://www.jianshu.com/p/3c1fe10aed4fAndroid中的颜色值通常遵循RGB/ARGB标准,使用时通常以“ # ”字符开头的8位16进制表示。其中ARGB 依次代表透明度(Alpha)、红色(Red)、绿色(Green)、蓝色(Blue),取值范围为0 ~ 255(即16进制的0x00 ~ 0xff)。A 从0x00到0xff表示从透明到不透明,RGB 从0x00到0xff表示颜色从浅到深。当RGB全取最小值(0或0x000000)时颜色为黑色,全取最大值(2

2020-11-17 20:31:25 20

原创 【Android】绘制流程节点图StepView

1、MyStepInfoBean.java每个节点样式package com.dj.processindication.StepView;public class MyStepInfoBean { private String name; private Enum status; public MyStepInfoBean(String name, Enum status) { this.name = name; this.status =

2020-11-17 20:30:37 21

原创 【Android】其他优化

1、Method Profiling工具https://developer.android.com/studio/profile/android-profiler?hl=zh-cn这个工具可以将每个方法耗用时间汇总图呈现出来。可以找到最耗时的方法。2、Lint工具https://developer.android.com/studio/write/lint?hl=zh-cn3、特殊容器装箱和拆箱基本类型——包装类型Integer 16个字节, int 4个字节。谨防自动拆箱和自动拆箱

2020-11-14 13:08:36 19

原创 【Android】Bitmap优化

Bitmap decode常见的图像存储格式:jpg,png,webpAndroid中显示图片必须要先经过解码(decode)读取图像的数据到内存中BitmapFactory提供了常用的一些decode方法图片真正占用的内存大小要看decode之后的数据大小。用字节数组的方式存储。Bitmap memory<= 2.3.3(api 10) Bitmap解码之后的数据存储在NativeMemory中,手动调用Recycle回收=3.0 (api 11) Bitmap解码之后的数据

2020-11-12 21:58:25 46

原创 【Android】利用HelloChart绘制曲线

1、将jar包放到app下的libs文件夹中2、build.gradle(app):implementation files('libs\\hellocharts-library-1.5.8.jar')3、MainActivity.javapackage com.dj.drawlinestest;import android.graphics.Color;import android.os.Bundle;import android.os.Handler;import android.v

2020-11-12 10:07:58 899 2

原创 【Android】性能优化

1 内存优化1.1 垃圾回收1.2 内存监控方法一:Android Studio 3.0 及更高版本中的 Android Profiler 取代了 Android Monitor 工具。方法二:使用LeakCanary查看应用中谁在泄漏内存:https://github.com/square/leakcanaryhttps://square.github.io/leakcanary/getting_started/使用简单到令人发指:只要添加如下依赖即可!!dependencies {

2020-11-12 10:01:51 43

原创 【Android】设计模式

设计模式:可复用面向对象软件的基础向下:三大面向对象机制:封装, 隐藏内部实现继承,复用现有代码多态,改写对象行为向上:面向对象机制带来的抽象意义,理解如何使用这些机制表达现实世界,掌握什么是好的面向对象设计...

2020-11-11 20:22:23 40

原创 【Android】高德地图从经纬度获得地址字符串

// 创建对象private GeocodeSearch search;search = new GeocodeSearch(this);// 设置监听器search.setOnGeocodeSearchListener(new GeocodeSearch.OnGeocodeSearchListener() { @Override public void onRegeocodeSearched(RegeocodeResult regeocodeResult, int i) {

2020-11-10 13:56:13 67

原创 【Android】工程依赖

tips:生成和使用aar:https://zhuanlan.zhihu.com/p/22242264https://blog.csdn.net/zhangpengzp/article/details/82351244依赖重复的时候:无冲突,以最高版本为主有冲突,报错,留一个就行

2020-11-05 11:14:17 14

原创 【Android】NDK开发

Native Development Kit 原生开发工具包,支持C/C++1、NDK优缺点2、一步一步实现简介:https://juejin.im/post/68449040315092828291、在main下新建cpp文件夹(与java文件夹平级),放入.cpp和.h以及1个CMakeLists.txt文件如果cpp文件中其实使用c语言实现的,那么.h中的每个函数前都用extern “C” ;如果不止一个cpp文件,那么CMakeLists.txt中:add_library(rsa /

2020-11-05 10:37:05 19

原创 【Android】Gradle构建项目

Gradle作为一个插件安装在Android studio中Android studio基于高级构建工具包 Gradle 自动执行和管理构建流程Gradle 基于Groovy语言1、将gradle路径设置到环境变量参考:https://blog.csdn.net/u014743890/article/details/84316176找到gradle目录:右键我的电脑->属性->高级系统设置->环境变量,找到path 编辑 如下图 将上面gradle目录D:\androids

2020-11-05 09:58:29 31

原创 【Android】LBS定位功能

1、Google Map特点:gps坐标系,最稳定,卫星地图精细在中国服务被Q手机必须要有Google Service Framework在中国不FQ不Root不可用权限: <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCAT

2020-11-05 08:34:22 133

原创 【Android】传感器的使用

手机上的传感器加速度磁力方向陀螺仪光线感应压力温度接近重力线性加速度旋转矢量使用步骤获取SensorManager对象获取Sensor对象注册Sensor对象重写onAccuracyChanged,onSensorChanged这两个方法注销Sensor对象注意别忘记注销,否则耗电贼快不要在模拟器上测试代码,没有传感器可用不要阻塞onSensorChanged()方法避免使用过时的方法或传感器类型使用前先验证传感器,验证是否存在并且可用谨慎选择传感器

2020-11-04 22:03:57 22

原创 【Android】Notification提醒Android10可用

参考:https://blog.csdn.net/hgy413/article/details/88539924// 通知与提醒 Intent stateIntent = new Intent(this, MusicButtonActivity.class); PendingIntent statePendingIntent = PendingIntent.getActivity(this, 0, stateIntent, PendingIntent.FLAG_CANCEL

2020-11-04 20:23:48 15

原创 【Android】设备们连接手机后,获取设备们的IP

不涉及其他权限申请啥的,一切选择权交给用户1、MainActivity.javapackage com.dj.hotpotopenandkownwhoconnectme;import androidx.appcompat.app.AppCompatActivity;import android.content.ComponentName;import android.content.Context;import android.content.Intent;import android.n

2020-11-04 14:06:53 37

原创 【Android】删除数组中的指定内容时,遍历数组的for循环中的上限条件不能是正在变化的数组长度值

如题,解决方法是:在函数内创建一个副本数组把符合要求的元素,从原始数组拷贝到副本数组清空原始数组将副本数组内容拷贝到原始数组Over// 删 删除全部数据private void deleteFreqsFromDatabase(String freqClass) { mSQLiteDatabase = mDatabaseHelper.getWritableDatabase(); mSQLiteDatabase.delete(FREQ_TABLE_NAME, "freqC

2020-11-04 10:59:06 26

原创 【Android】多线程知识储备—下载网络资源,下载进度显示

多线程

2020-11-04 10:25:41 37

原创 【Android】文件操作工具

参考1:https://www.cnblogs.com/jdhdevelop/p/11578105.html参考2:http://blog.huangyuanlove.com/2019/04/17/%E9%80%82%E9%85%8DAndroid%E9%AB%98%E7%89%88%E6%9C%AC%E7%B3%BB%E7%BB%9F%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/1手机的外部存储可能包含两部分,一是机身存储的外部存储部分,还有一个是SD卡部分遍历手机的外

2020-11-04 09:36:55 17

原创 【Android】Android中运行Shell命令

具体使用方法:ShellUtils.CommandResult result = ShellUtils.execCommand("ip neigh",false); //主要是这条语句,字符串中是命令Log.i(TAG,"result1.result = " + result.result);Log.i(TAG,"result1.successMsg = " + result.successMsg); // 有用的信息在这里,可以打印出来看看Log.i(TAG,"result1.errorMsg

2020-11-03 16:05:09 20

原创 【Android】Android10读写外置存储无效

如果targetSdkVersion为29,并且测试手机为Android 10,那么会发现,就算申请了存储权限,读写外置存储依旧是无效的。这是因为Google 针对 Android 10,对存储权限进行了进一步的限制,每个App都有一块分区存储,可以进行读写访问,除此之外的路径,就访问不了了。分区存储包含:特定于应用的目录中的文件(使用 getExternalFilesDir() 访问) (/storage/emulated/0/Android/data/包名)应用创建的照片、视频和音频片段(通过

2020-11-02 17:03:15 33

原创 【数据结构与算法】判断字符串是否是IP地址

判断原则:判断该字符长度是否是7-15位之间(0.0.0.0-255.255.255.255)是否能以小数点分成四段每段是否都是数字每段数字是否都在0-255之间只有以上四个条件都满足了,才是IP的正确格式。实现该算法有两种比较简单的方法,一种是常规判断,另一种是利用正则表达式进行判断,下面以函数的形式实现这两种方法,可以直接复制函数使用,传入的参数是待判断的字符串,返回的是布尔变量。常规判断://判断字符是否是IPpublic boolean isCorrectIp(

2020-11-02 14:04:31 46

原创 【Java】static关键字应用与解析

一.static关键字的用途在《Java编程思想》P86页有这样一段话:“static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。”这段话虽然只是说明了static方法的特殊之处,但是可以看出static关键字的基本作用,简而言之,一句话来描述就是:方便在没有创建对象的情况下来进行调用(方法/变量)。很显然,被static关键字修饰的方法或

2020-10-28 15:15:23 30

原创 【Java】客户端读取指定文件夹下的文件,客户端传输多个文件给服务器端,服务器端接收文件并存储

参考:https://blog.csdn.net/u013943420/article/details/71159801https://blog.csdn.net/huang930528/article/details/52401565文件传输Server端:import java.io.DataInputStream;import java.io.File;import java.io.FileOutputStream;import java.math.RoundingMode;impor

2020-10-28 10:33:24 97 2

原创 【Java】文件传输服务器端和客户端

思路:客户端发送文件给服务器端,服务器端负责接收文件并存储。下列代码测试通过,在IDEA中新建两个工程,每个工程的文件如下:文件传输服务器端:import java.io.*;import java.net.ServerSocket;import java.net.Socket;public class Server { private static final int PORT = 8888; public static void main(String[] args)

2020-10-28 09:35:29 40

原创 【Java】Java的API学习

1、工具下载:jdk api 1.8_Chinahttps://www.cnblogs.com/xpwi/p/9788175.html2、引用类型:导包、创建、使用import 包路径.类名称如果目标类和当前类在同一个包下,导包语句可省略只有java.lang包下的内容不需要导包,其他的都要导包创建,就是调用构造函数创建一个对象;使用,就是调用对象的成员方法;3、一些API(1)Scanner:导包:import java.util.Scanner;创建:Scanner s

2020-10-27 21:12:28 20

原创 【Java】面向对象小知识

1、对象作为参数传递的时候,传递的是地址值当一个对象作为参数,传递到方法当中时,实际传递进去的是对象的地址值。2、局部变量与成员变量的区别

2020-10-27 10:07:13 28 1

原创 【Java】Java中的字符串String

字符串的内容一旦被创建,永不可变!!!Java中String类位于java.lang包下,是整个Java语言的基石。同时String类使用final关键词修饰,意味着外部调用者无法通过继承和重写来更改其功能。Java中的字符串与语言相比,也有其特殊性。本文深入地理解Java字符串,主要内容有:String的初始化String与常量池String的不变性String、StringBuffer与StringBuilder“+”操作符1. 字符串初始化String并不是Java中的基础类型,它

2020-10-26 19:00:53 76 1

原创 【Java】Java编程基础知识入门:变量与数据类型

1 JAVA数据类型基本数据类型引用数据类型自定义数据类型8种基本数据类型:byte 字节型 1 -128~127short 短整型 2int 4long 8float 4double 8char 字符型 1 0~65535boolean 1(作为数组中的某个元素)或4(作为单独的变量)计算机存储数据:寄存器(Java无法直接控制和处理)栈空间:存取效率高;先入先出;存储空间小;jvm将基本类型数据全部存放在栈空间堆空间:存取效率最低;存储位置随机分配;存储空间大;

2020-10-26 16:18:46 32 1

原创 【Git】Git bash win10 下中文乱码问题解决

原因:命令行的中文字符使用的是GBK码,当前的git bash text设置是默认的utf-8码解决:1、任意打开一个 git bash 窗口2、右键 --> Options -->Text3、修改 Local 为 zh-CN Character set GBK4、关闭窗口,重新打开新的 git bash 窗口5、执行 java -showversion 发现中文显示正常...

2020-10-23 11:18:47 25

原创 【Android】百度地图使用—初步

百度地图官网教程:http://lbsyun.baidu.com/index.php?title=androidsdk/guide/create-project/attention打开旧工程,更新成AndroidX后,报错信息如下:2020-10-22 13:38:57.838 15332-15332/com.ding.admin.newfieldtest E/NativeLoader: found libBaiduMapSDK_base_v5_2_0.so error2020-10-22 13:3

2020-10-22 20:48:09 62

原创 【Android】解决问题:Android Studio控制台编译输出中文乱码

参考:https://blog.csdn.net/jankingmeaning/article/details/104772104?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.add_param_isCf&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2

2020-10-22 09:43:13 34

原创 【Android】我遇到的bug

1、PopupWindow出现Unable to add window – token null is not valid; is your activity running?参考1PopupWindow出现android.view.WindowManager$BadTokenException: Unable to add window – token null is not valid; is your activity running?的异常是因为PopupWindow需要依附在一个创建好的Act

2020-10-21 10:02:52 59

转载 【Android】ListView使用方法、原理及优化

暂存

2020-10-19 20:55:36 52

原创 【Android】网络编程数据处理

1、需要申请权限:<uses-permission android:name="android.permission.INTERNET" />

2020-10-17 21:33:26 28 1

DrawLinesTest|DrawLinesTest.rar

jar包,配合完整使用讲解:https://blog.csdn.net/qq_30885821/article/details/109637541

2020-11-12

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除