Android
Dr_abandon新秀
学海无涯,既然选择,就勇往直前。
展开
-
android Retrofit2.0请求 延长超时操作
在上述代码中,createOkHttpClient 方法创建了一个具有自定义超时的 OkHttpClient,然后在 createRetrofit 方法中将其用于创建 Retrofit 实例。请根据你的实际需求调整超时时间。在这个例子中,连接超时、读取超时和写入超时都被设置为30秒。原创 2023-12-16 14:40:40 · 1019 阅读 · 0 评论 -
android 发送shell命令
shellExec("rm -rf " + s_path);private StringBuffer shellExec(String cmd) { Runtime mRuntime = Runtime.getRuntime(); //执行命令的方法 try { //Process中封装了返回的结果和执行错误的结果 Process mProcess = mRuntime.exec(cmd); //加入参数原创 2022-10-24 18:42:30 · 534 阅读 · 0 评论 -
android Retrofit请求体加密 body加密
主要讲retrofit请求时,请求体加密的请求方式原创 2022-06-11 10:11:17 · 1973 阅读 · 0 评论 -
android retrofit 单一图片上传
接口样式 // 检测记录上报 @Headers({"Content-Type:application/json"}) @Multipart @POST("uploadRecord") Call<String> upload_record(@Header("sn") String sn, @Header("token") String token, @PartMap Map<String, String> map,@Part Multipart原创 2022-05-14 17:19:46 · 622 阅读 · 0 评论 -
android 利用okhttp实现apk下载,带进度
下载类 /** * 文件下载 * * @param url 下载的连接 */ public void downFile(String url) { ProgressDialog progressDialog = new ProgressDialog(MainActivity.this); progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);原创 2022-04-06 15:05:35 · 1176 阅读 · 0 评论 -
Android apk的安装
1 。已经root的设备 可以实现静默安装,调用pm install -r来安装的,-r是保留原来APP的数据 private boolean slienceInstall(String apkUrl) { boolean result =false; DataOutputStream dataOutputStream =null; BufferedReader errorStream =null; try {原创 2022-03-12 15:05:20 · 5359 阅读 · 0 评论 -
ButterKnife等插件无法使用问题的解决,ButterKnife不显示问题
Android Studio4.1以上版本,ButterKnife等插件无法使用问题的解决具体问题:在AS内部安装插件,显示插件安装但是插件无法使用,且会导致代码分块提示信息等内容消失。ButterKnife常用插件包括以下两种,AS 4.1以上版本无法使用Android ButterKnife Zelezny解决方案:1.首先这两个插件我们由于Android ButterKnife Zelezny失效,我们选择Android ButterKnife Injection,先点击install获取该原创 2021-06-07 13:45:17 · 4107 阅读 · 0 评论 -
android设备 使用adb logcat命令 来查看设备log
使用adb logcat命令显示Android设备上的Log日志有时候我们在手机程序上的日志要在其他地方调试,然后要看里面的Log日志。本文教大家如何在不需要studio就可以查看手机程序中的Log日志。实现这个功能的前提是使用adb命令,所以必须要有手机和电脑,还有安装adb,adb程序是很小的几M就可以。一.在cmd窗口查看手机的Log日志在确定连上手机后(adb device,可以看到电脑连接的手机)在cmd窗口中输入如下命令,就可以像Studio中的Logcat窗口中显示日志信息://原创 2020-11-13 17:37:11 · 2317 阅读 · 0 评论 -
android adb 切换 和adb 删除内置apk
切换 adb 装机模式# adb shell# reboot loader原创 2020-11-13 11:39:50 · 696 阅读 · 0 评论 -
android 从app跳转到微信小程序和微信没有设置浮动权限 打不开小程序
微信的官方文档第一步需要获取 appID 小程序原始ID在微信开放平台创建应用时填写应用签名的时候,填写的是md5值 并去掉“:”号全部改为小写第二步集成微信的包//版本号可以修改为最新的 api 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:5.3.1'第三步 需要在自己的报名下新建一个wxapi包,在新建一个WXEntryActivity类public class WXEntryActivity extends AppCompa原创 2020-06-05 10:14:11 · 1336 阅读 · 0 评论 -
android EditText设置最多输入多少个字提示 ,并只取最多的那些字
private Context context; private EditText editText; private int maximum; public void setWordNumber(Context context, EditText editText, int maximum) { this.context = context; ...原创 2020-04-17 18:17:59 · 1187 阅读 · 0 评论 -
ListView 的adapter notifyDataSetChanged() 不刷新数据问题
不刷新问题 可能因为adapter的数据集合不是同一个集合 不能用dataList= list这样的方式 这样adapter认为这是不同的dataList集合,需要用dataList.addAll(list)的方式这样adapter才判定是同一个集合...原创 2020-01-10 12:12:05 · 532 阅读 · 0 评论 -
android bitmap 实现帧动画
import android.content.Context;import android.graphics.*;import android.os.*;import android.util.AttributeSet;import android.view.View;import java.util.*;public class snail extends View { int[...原创 2020-01-04 15:30:14 · 1027 阅读 · 0 评论 -
android java中简单的接口回调
1.定义一个事件: private onDeleteLister mOnDeleteLister;2.给一个set方法 public void setOnDeleteLister(onDeleteLister onDeleteLister) { mOnDeleteLister = onDeleteLister; }定义这个接口 public interfa...原创 2019-12-24 23:02:30 · 224 阅读 · 0 评论 -
android 动态申请权限 【一次申请多个动态权限】
Android一次申请多个权限第一种:手动手动去选择“应用”–>“程序”–>找到那个程序添加权限第二种:动态申请Android 6.0对应的Android SDK等级是23.所以一般是先判断手机的版本是否是6.0以上再进行动态请求权限。public class MainActivity extends AppCompatActivity { @Overri...原创 2019-12-22 23:38:36 · 974 阅读 · 0 评论 -
androidx recyclerview 不显示item的问题集
不显示的原因无外乎是:adapter中的getItemCount()为0,onCreateViewHolder没有执行没有设置数据。adapter没有进行刷新 notifyDataSetChanged()没有设置setLayoutManageradapter设置数据的时候是在子线程里。...原创 2019-12-22 23:28:16 · 1884 阅读 · 0 评论 -
android 判断是否连接钢琴和检测钢琴是哪个按键
public class TaskMiActivity extends AppCompatActivity { // private MidiPianoLayout midiPianoLayout; TextView tv_tv1, tv_tv2; Button btn_connect; @Override protected void...原创 2019-11-27 20:02:44 · 401 阅读 · 0 评论 -
android Studio导入source文件
sourceSets { main { jniLibs.srcDirs = ['libs'] } }原创 2016-12-13 21:20:17 · 974 阅读 · 0 评论 -
android Studio导入source文件
sourceSets { main { jniLibs.srcDirs = ['libs'] } } 如下原创 2017-08-14 15:47:35 · 944 阅读 · 0 评论 -
Android 开发中的倒计时
Android开发中会遇到获取验证码,之后60秒不能在点击,这事需要一个倒计时:下面一种如下 btnVericificationCode.setEnabled(false); new CountDownTimer(59000, 1000) { @Override原创 2017-08-16 14:15:58 · 349 阅读 · 0 评论 -
Android媒体
使用MediaPlayer播放音频使用SoundPool播放音频使用VideoView播放视频使用MediaPlayer和SurfaceView播放视频使用Camera拍照使用系统相机使用MediaRecord录音Android媒体格式Android提供了对常用音频和视频格式的支持,它所支持的音频格式有MP3,3GP,OGG,和 WAVE(.ave)等,支持的视频格式有3GP和MPEG-4等,通过原创 2017-01-11 16:25:30 · 658 阅读 · 0 评论 -
android中的dialog 警告对话框,选择对话框,和一些自定义的对话框
继承Dialog,重写OnCreate和构造方法, 在onCreate中setContentView,通过findViweById获取组件 通过样式修改属性 1. 2. true 3. true 4. AlertDialog3个区域 1. title icon 2. message,item,view,adapter,多选单选。 3. 中立,积极,消极三个Button 使用Bu原创 2016-10-24 11:02:47 · 1582 阅读 · 0 评论 -
android中SurfaceView的应用,一个贪吃蛇的小程序
开始时吃到东西后说明:1.一直都只有一个东西,吃到东西就增加一格。 2.吃到自己,撞到墙,游戏就结束了。 3.不能直线后退,吃到东西一次加100分,东西被吃掉后会随机增加一个东西。MainActivity 类public class MainActivity extends AppCompatActivity { @Override原创 2016-12-30 19:47:49 · 1152 阅读 · 0 评论 -
android中SurfaceView的使用
SurfaceView概念SurfaceView的使用可以直接从内存或者DMA等硬件接口取得图像数据,是个非常重要的绘图容器。它的特性:可以在主线程之外的线程中向屏幕绘图上。这样可以避免画图任务繁重时造成主线程阻塞,从 而提高了程序的反应速度。在游戏开发中多用到SurfaceView,游戏中的背景、人物、动画等 等尽量在画布canvas中画出。 SurfaceView提供直接访问一个可画图的界原创 2016-12-30 18:57:10 · 699 阅读 · 0 评论 -
android中的PopupWindow的使用
PopupWindowPopupWindow有点类似于Dialog,相同点在于都是弹出窗口,并且都可以对其进行自定义显 示,并且里面的监听组件,进行相应的操作,但它与Dialog又有很大的区别,PopupWindow 只是弹出窗口,不会使宿主Activity组件失去焦点,也就是说PopupWindow弹出后,你仍可 以与宿主Activity进行交互,Dialog却不能做到这一点PopupWin原创 2016-12-30 17:41:30 · 489 阅读 · 0 评论 -
android permission Suggestion: add 'tools:replace="android:value" 报错
在项目的bulid.gradle下的android {}里加入下面的代码: useVersion 的版本号是报错需要对应的版本号 configurations.all { resolutionStrategy.eachDependency { DependencyResolveDetails details -> def requested =...原创 2019-03-22 09:57:19 · 652 阅读 · 0 评论 -
android中Activity与service之间相互通信的实现方式
使用intent代参,intent可以带基础数据类型,基础数据类型的数组,序列化对象,集合使用广播使用单例模式,在activity与service中少用bindService获取引用,AIDL(进程中通信)基础,推荐使用activity生命周期下面是代码:MainActivitypublic class MainActivity extends AppCompatActivity {原创 2016-11-10 19:47:41 · 2155 阅读 · 0 评论 -
android中的ViewPager,(中间有小圆圈,无限轮滑)
ViewPagerviewPager在V4包,如果使用他 必须要使用v4的Fragm 1. 适配器重写4个方法 getCount mList.size(); isViewFromObject view==object; 将super去掉 否则显示3个后会报错 instantiateItem destoryItem 如果需要给系统的指示器,需要重写原创 2016-11-12 17:10:02 · 967 阅读 · 0 评论 -
Android pulltorefresh上拉下拉刷新加载
PullToRefresh是一套实现非常好的下拉刷新库,它支持:ListView ExpandableListView GridView WebView ScrollView HorizontalScrollView ViewPager 等多种常用的需要刷新的View类型,而且使用起来也十分方便。 (GitHub地址:https://github.com/chrisb原创 2017-10-24 14:27:00 · 449 阅读 · 0 评论 -
android中的Fragment,Fragment的传参
一个Fragment必须放在Activity中,它的生命周期直接被其所属的宿主Activity生命周期影响,它的状态会随宿主的状态变化而变化Fragment生命周期图:Activity的生命周期图:Fragment加载UI的方法onCreateView() 用来加载布局。 如果加载数据与UI无关使用onCreate 如果与UI有关,那么使用OnViewCreated 在Fragment中获取上原创 2016-11-12 15:02:31 · 858 阅读 · 0 评论 -
android设计 实现窗体启动时,显示一个水平进度条,当进行完成后,隐藏该进度条,并显示一张图 片。
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_m原创 2016-10-11 19:44:46 · 2753 阅读 · 0 评论 -
Android ScrollView滑动到顶部和滑动到底部的判断
svView.setOnScrollChangeListener(new View.OnScrollChangeListener() { @Override public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) { ...原创 2019-06-15 16:10:05 · 3126 阅读 · 0 评论 -
MPAndroidchart,折线图LineChart自定义x轴,使x轴上的值与折线上的点对应
效果图如下:让x轴上自定义的值和折线上相对应xAxis.setGranularity(1); //这个很重要自定义x轴有两种方式:①种: IAxisValueFormatter formatter = new IAxisValueFormatter() { @Override public String getFormatt...原创 2019-03-26 14:11:35 · 13992 阅读 · 3 评论 -
android studio导入的包和引用全部报错
解决方法 就可以了原创 2019-03-22 15:16:35 · 2893 阅读 · 0 评论 -
Android SurfaceView+MediaPlayer实现几个不同的视频轮流播放
MediaPlayer1)如何获得MediaPlayer实例: 可以使用直接new的方式: MediaPlayer mp = new MediaPlayer(); 也可以使用create的方式,如: MediaPlayer mp = MediaPlayer.create(this, R.raw.test); 网络或是内部存储直接setDataSource一个路径2) 如何设置要播...原创 2018-06-20 09:53:46 · 6044 阅读 · 1 评论 -
android使用Java设计模式建造者模式(Builder模式)的写法:
建造者模式的定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 这里給大家分析一下: 定义的前半句说,构造与表示分离,其实就是继承(或实现)。 两种工厂模式也都是为某个对象提供一个接口,而且无需指定它们的具体类。 所以建造者模式的重点是后半句:同样的构建过程可以创建不同的结果。 但是我仔细想了一下,这句话说的也是太含糊了,并且和工厂模式也是类似的,工厂原创 2018-01-19 13:48:26 · 598 阅读 · 0 评论 -
android中的适配器(ArrayAdapter,SimpleAdapter,BaseAdapter)
ArrayAdpterArrayAdapter通常用于将数组或List集合的多个值包装成多个列表项 ArrayAdapter adapter2 = new ArrayAdapter(context, resource, textViewResourceId, objects) T是数组的类型,resource至少包括一个View的布局文件 textViewResourceId指的是textV原创 2016-10-20 09:46:51 · 1884 阅读 · 0 评论 -
Android 退出app,循环遍历退出
一般退出程序是:System.exit(0); 但是如果在当前页面前面还有页面的话,直接使用这种方式就会报错。一般我们使用循环遍历退出:我们需要一个集合来装这些activty,然后在退出时,先把这些activity全部finish,然后在退出就可以避免发生错误:1.在自己写的Application中做一个单例和一个集合 public static MyApp instance; publi原创 2017-10-28 17:44:10 · 1334 阅读 · 0 评论 -
Android log.e(),log.d(),log.i()等的区别
Android Logcat使用起来可以方便的观察调试内容,基本上的使用方法(巧用Logcat调试程序)。一、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v(“”,”“); 二、Log.d的输出颜色是蓝色的,仅输出debug调试的意思,但他会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择 三、Log.i的输出为绿色,一原创 2017-11-06 16:58:36 · 18769 阅读 · 0 评论 -
android中的一个属性动画,可以显示更多的一个案例
下面是代码:MainActivitypublic class MainActivity extends AppCompatActivity { ListView lv; //自定义属性 List<String> mList = new ArrayList<>(); ShowTextView showTextView; @Override protected原创 2016-12-30 15:20:15 · 548 阅读 · 0 评论