自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 OkHttp原理

责任链,顾名思义,就是用来处理相关事务责任的一条执行链,执行链上有多个节点,每个节点都有机会(条件匹配)处理请求事务,如果某个节点处理完了就可以根据实际业务需求传递给下一个节点继续处理或者返回处理完毕。ConnectInterceptor,连接拦截器,内部会维护一个连接池,负责连接复用、创建连接(三次握手等等)、释放连接以及创建连接上的socket流。加入到链接池的连接开启计时,当连接数大于五或计时大于五分钟则移除空闲时间最长的连接,剩下的重新计时五分钟等待下一轮清除。3. OKHttp空闲连接如何清除?

2023-05-09 10:31:27 477

原创 android AppCompatSeekBar属性及其使用详情

android AppCompatSeekBarandroid:thunbOffset="xx" 拖动图标的拖动值,可以解决由于透明拖动图标导致的进度值溢出android:splitTrack="false" 是否设置一个间隙,让滑块与底部图片分隔 //感觉没什么用

2022-08-05 13:41:40 3087

原创 Android动态权限获取

Android6.0以后只能通过动态申请的方式获取权限。

2022-07-26 17:03:50 426

原创 常用git命令

gitstashpop命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令gitstashpopstash@{$num},比如应用并删除第二个gitstashpopstash@{1}gitstashsave“savemessage”执行存储时,添加备注,方便查找,只有gitstash也要可以的,但查找时不方便识别。...

2022-07-26 15:02:15 162

原创 Android 组合控件的使用

android自定义组合控件

2022-07-26 11:52:47 681

原创 Android自定义控件(UI,点击事件)

Android自定义控件(UI,点击事件)

2022-07-25 17:42:10 1467

原创 Android 8.0 以后前台服务的启动方式

android 8.0 以后的服务新特性,如何启动新特性的前台服务

2022-07-25 10:10:12 1891

原创 Android studio自动生成类图(通过插件)

android stuio自动生成类图,亲测有效

2022-07-07 11:31:11 6420 1

原创 Android Studio 模块打aar 引入aar详细步骤

android studio 生成引入aar,jar.

2022-07-06 17:50:49 3348

原创 Android 网络通信WebSocket使用详解

WebSocket的详细使用步骤,2022年6月写的。客户端服务端都是在android上实现的。

2022-07-04 17:57:53 14063 5

原创 Android Ftp 下载文件:服务端搭建,客户端编写使用详情

Android 利用FTP下载服务端文件

2022-06-22 09:38:56 2485

原创 Android科大讯飞TTS语音合成实例详细步骤

网站:离线语音合成 - 语音合成 - 讯飞开放平台完成注册后获取到右侧红线上的APPID,!!有重要作用,点击下载获取你需要的SDK版本下载并解压后如图sample:是官网给予的dome;libs文件中的文件拷贝到Android项目中的lib包中并ADD;assets文件拷贝到Main包中;由于我选择的是离线(高质量版)所以将res文件夹中的xtts文件夹拷贝到Android项目中的assets包里; 清单文件中加入权限首先启动的程序中需要添加以下代码用于初始化其中xxxx使用你的APPID替换

2022-06-16 15:24:43 6546

原创 时间的表示方法,TextView显示html文字和图片

TextView显示htm图片 private Spanned sp; new Thread(new Runnable() { @Ove...

2022-04-24 16:22:45 276

原创 UI修改心得

使字体进一步变粗1.textview.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));使字体进一步变粗2.android:textStyle="bold"使文字之间距离改变1.android:letterSpacing="x"x = 0.1 距离变大x = -0.1 距离变小

2022-04-13 17:12:35 1106

原创 android流式布局的写法

package com.carryme.app.widget;import android.content.Context;import android.graphics.Rect;import android.util.AttributeSet;import android.view.View;import android.view.ViewGroup;import java.util.HashMap;import java.util.Map;/** * 流式布局 */pub.

2022-04-11 11:07:07 625

原创 JetPack的学习

ViewModel(类似一个Bean,相当于远程给控件赋值不需要保存)单独使用时只需要创建ViewModel类,不需要进行XML界面的绑定LiveData(能够监听数据,改变数据自动改变数据所在控件的值)在其重写的OnChange()中对控件进行实时更新DataBinding +ViewModel+LiveData(命名方式是XML文件去掉下划线+Binding)1.更改配置dataBinding { enabled = true}2.布局文件加Layout标签和

2022-03-21 17:04:46 2254

原创 Android Room 的使用(使用room实现增删改查)

封装了SQlite第一步:创建数据库表类package com.example.room;import androidx.room.ColumnInfo;import androidx.room.Entity;import androidx.room.PrimaryKey;@Entity//一张表public class Student { //主键,自增长 @PrimaryKey(autoGenerate = true) private int id;

2022-02-22 17:16:14 8948 1

原创 Fragment用法

创建Fragment的java文件和xml文件import android.os.Bundle;import androidx.annotation.NonNull;import androidx.annotation.Nullable;import androidx.fragment.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGrou

2022-02-21 13:31:21 1544

原创 Android EventBus使用方法

类似bean类,可以用来区别接受者public class MessageEvent { private String message; public MessageEvent(String message) { this.message = message; } public String getMessage() { return message; } public void setMessage(Strin

2022-02-21 11:03:36 749

原创 自定义异常类及使用方法

定义异常类模板//编译时异常继承Exception(多数情况),运行时异常继承RuntimeExceptionpublic class MyException extends Exception{ public MyException(){} public MyException(String s){ super(s); }}在使用时抛出//在使用时要将异常抛出public class Text { public void doExc

2022-02-18 17:49:20 731

原创 广播:通过广播启动另一个应用

通过A应用启动B应用A应用中通过Intent发送广播 Intent intent = new Intent("B"); sendBroadcast(intent);B应用中创建广播接收者类,并在其中写接受到广播后的逻辑public class MyReceiver extends BroadcastReceiver { @Override //接受到广播后执行的方法:接受到广播后启动应用 public void onReceive(Context con

2022-02-18 16:00:02 1861

原创 Android 网络编程的两种实现(GET)

HttpUrlConnectionpackage com.example.myhttp;import androidx.appcompat.app.AppCompatActivity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.view.View;import android.widget.Button;impo

2022-02-16 17:17:25 630

原创 线程的知识

android 中线程的使用以及多种线程池的用法

2022-02-15 15:51:10 134

原创 创建数据库并使用

1.创建数据库类继承SQLiteOpenHelper,在重写的onCreate()方法中调用db.execSQL(CREATE_BOOK)sql语句创建数据库,名称为Book。public class MyDatabaseHelper extends SQLiteOpenHelper { public static final String CREATE_BOOK = "create table Book (" + "phone integer primary key.

2022-01-28 17:54:45 552

原创 ViewPager + View启动页

1.建立viewpager适配器public class MyAdapter extends PagerAdapter { private List<View> mListView; public MyAdapter(List<View> mListView) { this.mListView = mListView; } @NonNull @Override public Object instantia

2022-01-28 14:15:29 375

原创 Android发送通知和自定义Dialog

btn1:发送一个通知btn3:自定义对话框public class ActivityNotifi extends AppCompatActivity implements View.OnClickListener { Button btn1, btn3; String CHANNEL_ID = "ChannelID"; int notificationId = 1; @Override protected void onCreate(Bundle sav

2022-01-28 13:47:21 302

原创 Android RecycleView用法及方法传参用法

1.创建适配器。可以根据自己的需要创建构造方法public class MyRecycleAdapter extends RecyclerView.Adapter<MyRecycleAdapter.MyHolder>{ private Context mcontext; private OnItemClickListener monItemClickListener; private OnItemLongListener monItemLongListener;

2022-01-28 13:23:06 358

空空如也

空空如也

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

TA关注的人

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