
移动
yijiaodingqiankun
我是一个从事了10年android 开发的安卓工程师
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android 搜索框:SearchView的属性和用法详解(java)
SearchView是Android原生的搜索框控件,它提供了一个用户界面,用于用户搜索查询。SearchView默认是展示一个search的icon,点击icon展开搜索框,如果你想让搜索框默认就展开,可以通过setIconifiedByDefault(false);实现。原创 2022-12-08 18:05:55 · 4461 阅读 · 0 评论 -
如何从svn上下载文件
使用svn向指定文件夹下载数据http://jingyan.baidu.com/album/1709ad80790eae4635c4f058.html?picindex=1 在要下载数据的地方新建文件夹 选中文件夹右键-》svn-》Chenckout 填写保存在svn里文件路径 填写完成后点击“OK” 填写用户名、密码,勾选保存密码 svn就开始下载数据了 下载完成后打开文件夹,就可以看到我们下载的文件原创 2022-04-03 09:22:01 · 11592 阅读 · 0 评论 -
Android 圆形头像控件CircleImageView
依赖:dependencies { ... implementation 'de.hdodenhof:circleimageview:3.1.0'}<de.hdodenhof.circleimageview.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/profile_image" android:layout_width=原创 2022-03-24 19:22:42 · 969 阅读 · 0 评论 -
Android NavigationView menu菜单中item加入SwitchCompat
最近写了个侧滑菜单,需要在里面加个开关,如下图android 自定义menu菜单中加入SwitchCompat为啥不用Switch呢?因为SwitchCompat是androidx里面的,是最新的控件,你用Switch用几天过时了还得换,麻烦。一、在menu的item中引用该布局这里用到了app:actionLayout来指定自定义菜单布局,需要注意的是必须是app:actionLayout,而不是android:actionLayout下面上代码:<menu ...原创 2022-03-24 19:07:18 · 3149 阅读 · 0 评论 -
Android TabLayout+ViewPager2
由于谷歌对Android Studio的不断更新,和对代码库、SDK等不断更新,导致以前的好多代码都不能正常运行了,今天就给大家说说TabLayout+ViewPager2。TabLayout+ViewPager相信大家都会用,我前年写了段代码,大致写完了,一直没管,今天测试发现不能用。一点就崩,什么问题呢?我用的androidX库中的TabLayout+ViewPager2,然后我接收的时候用的ViewPager,类型转换异常,更正错误后发现,适配器中的代码都变红了。找了各种文档,发现说TabLayo原创 2022-02-17 18:14:01 · 2676 阅读 · 0 评论 -
Android Studio如何用无线(WiFi)连接手机进行调试
今天是2022年2月15日,农历正月十五。截止今日,我已经一年多没写代码了,去年干了一年铸造。今天无意间看到原来Android Studio还可以无线连接手机,进行调试。早在2017年就可以了,我居然现在才知道,好无语。好了,废话不多说,直接上干货。首先打开Android Studio,然后file——》Setting,接下来就照着下图操作就好,操作到第4部就可以了。5是pad用的,6是2017年的连接插件,2是2021年11月22日的插件,从图上右边就可以看出来。点第二步记得点Install,这是安装原创 2022-02-15 17:52:30 · 31618 阅读 · 18 评论 -
Android Studio如何批量删除textView.setText();
Android Studio如何批量删除textView.setText(“”+123+2*456);textView.setText(“”+258+2*456);这样的内容。在实际开发中有很多时候会遇到这样的情况,在不同的地方,卡卡写了一大堆,到最后发现还能更简便,或者这些内容不要了,那么一行一行的删很麻烦,几行还好,几百行呢?方法其实很简单。Ctrl+R这是查找与替换功能,上面一行写textView.setText(.*);下面一行啥都不要写,点替换所有,这些textView.set原创 2021-11-03 22:43:57 · 1994 阅读 · 0 评论 -
Android页面引导蒙版(浮层)库
前言每当一个项目开发一个新功能,总会想办法及时让用户得知有这样一个新功能,这时通常会采用引导页或者蒙版(浮层)的方式提心用户,这里有需要关注的新内容。遇到这种需求,最简单的想法就是将引导的布局直接写在对应的页面中,在首次打开时显示,之后隐藏。但是用这种做法来显示只会出现一次的布局,显然有些浪费资源。而且很low,完全体现不出OOP的编程思想。我们的项目中原来使用的是:http://www.jianshu.com/p/5aa96683d0dc可以看到这是一个非常好的思路,通过DecorView来添加引转载 2020-08-23 23:09:37 · 1932 阅读 · 1 评论 -
Android混淆从入门到精通
简介作为Android开发者,如果你不想开源你的应用,那么在应用发布前,就需要对代码进行混淆处理,从而让我们代码即使被反编译,也难以阅读。混淆概念虽然容易,但很多初学者也只是网上搜一些成型的混淆规则粘贴进自己项目,并没有对混淆有个深入的理解。本篇文章的目的就是让一个初学者在看完后,能在不进行任何帮助的情况下,独立写出适合自己代码的混淆规则。说在前面这里我们直接用Android Studio来说明如何进行混淆,Android Studio自身集成Java语言的ProGuard作为压缩,优化和混淆工原创 2020-08-12 11:23:49 · 198 阅读 · 0 评论 -
IDEA如何打包war文件
1.file----->project structure----->Artifacts选择Web Application Achieve----->非empty(需要打包的war exploded)注意:这里一般不用选,因为默认就是你要打包的项目2.Build------>Build Aritifacts---->需要build的项目,然后就可以在刚刚设置的路径中找到已经打包好的war文件3.去刚刚设置的路径下找到已经打包好的war文件...原创 2020-06-10 18:31:06 · 2184 阅读 · 0 评论 -
Android TimePicker
<TimePicker android:id="@+id/timePicker" android:layout_width="match_parent" android:layout_height="wrap_content" />TimePicker 本身自带两种风格,都可以在xml中设置,一种是android:timePickerMode="clock"另一种是:android:timePickerMode="spinner"Ti..原创 2020-07-21 15:29:17 · 580 阅读 · 0 评论 -
Retrofit 上传图片
@Multipart@POST("网址")Call<ResponseBody> addGoods(@Part("uploadfile") RequestBody body);File file=new File(pathImg);RequestBody body = RequestBody.create(MediaType.parse("multipart/form-data"), file);Call<ResponseBody> call = myInterfa.原创 2020-05-11 00:00:36 · 1341 阅读 · 0 评论 -
Android NavigationView(侧滑菜单)
在项目中用到了侧滑菜单功能,由于用的少,所以很多功能都不会用,比如获取侧滑菜单控件id。其实谷歌没有提供这个方法,可是有时候我们需要用到,比如显示隐藏功能,今天我就来和大家分享最新研究成果图片来自网络,知道什么意思就行。显示或隐藏组(group):navigationView = (NavigationView) findViewById(R.id.navigationview);navigationView.getMenu().setGroupVisible(R.id.group_sh原创 2020-05-08 19:01:33 · 427 阅读 · 0 评论 -
Android 如何获取版本号
try { //获取包管理器 PackageManager packageManager = getPackageManager(); //显示安装包信息 PackageInfo packageInfo = packageManager.getPackageInfo(getPackageName(), 0); //获取版本名称 String ver...原创 2020-01-18 22:07:15 · 411 阅读 · 0 评论 -
Android Intent
Intent的中文意思是“意图,目的”的意思,可以理解为不同组件之间通信的“媒介”或者“信使”。目标组件一般要通过Intent来声明自己的条件,一般通过组件中的<intent-filter>元素来过滤。Intent在由以下几个部分组成:动作(action),数据(data),分类(Category),类型(Type),组件(Component),和扩展信息(Ex...原创 2020-01-12 21:43:51 · 793 阅读 · 0 评论 -
tomcat startup.bat一闪而过
如果出现这种现象就是你的jdk没有配置环境变量,或者是Tomcat没有配置环境变量,服务器要想能正常运行,这2个及mysql的环境变量都要配置。具体请参看我的《Tomcat6.0的安装与配置(手把手教你)》...原创 2019-11-10 11:22:56 · 264 阅读 · 0 评论 -
百度定位SDK能获取到经纬度,获取不到详细地址信息
最新版的百度定位SDK(V8.0.1)能获取到经纬度,却获取不到详细地址信息,解决办法:在设置LocationClientOption参数的时候添加一个option.setIsNeedAddress(true);...原创 2019-11-08 18:32:46 · 963 阅读 · 0 评论 -
怎么远程他人电脑或者服务器 复制拷贝超大文件
工具/原料mstsc方法/步骤WIN+R-》开始-》运行-》输入mstsc点击确认点击选项-》本地资源-》本地设备和资源-》勾选打印机和剪贴板勾选打印机和剪贴板-》下方点击-》详细信息-》勾选驱动器及下属磁盘符点击链接-》输入账户名及密码相当于把本机磁盘符同步到远程电脑上,打开个盘符加载文件复制粘贴超大文件速度飞快!...转载 2019-11-07 00:23:23 · 1129 阅读 · 0 评论 -
百度地图之Android SDK选择
我接手一个项目,要求从原来的代码中把代码复制到新版项目中,接手时已经把这个模块写了,但是点击进入该模块,程序就奔溃了。查看日志发现是百度的mapView为空导致的。找到原因就能解决问题了,这一看就是SDK版本不对,查看代码发现果然是mapView没有依赖。然后我找到百度地图开放平台。第一步:配置Android Studio (跟着百度开发文档)第二步:把libs包下的百度jar包删掉,把...原创 2019-11-05 14:05:35 · 530 阅读 · 0 评论 -
Android studio 找回被删除的文件
想要找到项目在studio环境下被删除的文件,可以右键文件目录,例如我删除了fragment文件夹,我就在它上一层的文件夹上,右键localhistory-show history这样就能看到之前被删除的文件了然后右键被删除的文件选择revert selection这样就可以复原文件。...原创 2019-11-04 15:05:35 · 1303 阅读 · 1 评论 -
使用svn向指定文件夹下载数据
连接:https://jingyan.baidu.com/article/1709ad80790eae4635c4f058.html方法/步骤 在要下载数据的地方新建文件夹 选中文件夹右键-》svn-》Chenckout 填写保存在svn里文件路径 填写完成后点击“OK” 填写用户名、密码,勾选保存密码 sv...原创 2019-10-24 18:48:36 · 3202 阅读 · 0 评论 -
Android 数据库 GreenDao
一、 GreenDao怎么用配置1. 要在project对应项目的build.gradle里面配置依赖包dependencies {//依赖包 classpath'com.android.tools.build:gradle:2.2.3' classpath'org.greenrobot:greendao-gradle-plugin:3.2.0'原创 2017-08-07 16:00:02 · 315 阅读 · 0 评论 -
Android RecyclerView下拉刷新
1.用SwipeRefreshLayout把要刷新的空件包裹起来android.support.v4.widget.SwipeRefreshLayout android:id="@+id/swipe" android:layout_width="match_parent" android:layout_height="wrap_content"> androi原创 2017-08-07 21:05:56 · 390 阅读 · 0 评论 -
Android WebView
添加网络权限uses-permission android:name="android.permission.INTERNET" />package com.jiyun.dell.webview;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view原创 2017-08-07 15:31:38 · 343 阅读 · 0 评论 -
AndroidStudio项目提交(更新)到github最详细步骤
点击打开链接转载 2017-08-14 20:41:34 · 324 阅读 · 0 评论 -
Android 常用框架
compile 'com.youth.banner:banner:1.4.9'//图片轮播依赖 compile 'com.squareup.okhttp3:okhttp:3.8.1'//网络请求依赖 compile 'com.android.support:design:26.0.0-alpha1'//RecyclerView依赖 compile 'com.github.bumptec原创 2017-08-25 16:16:34 · 235 阅读 · 0 评论 -
Android 如何去除ViewPager的左右滑动监听
1.写一个类继承ViewPager,重写里面的构造方法、onInterceptTouchEvent、onTouchEvent方法public class CustomViewPager extends ViewPager { private boolean result = false; public CustomViewPager(Context context) {原创 2017-09-25 08:16:52 · 972 阅读 · 1 评论 -
Android状态栏微技巧,动态控制状态栏显示和隐藏
记得之前有朋友在留言里让我写一篇关于沉浸式状态栏的文章,正巧我确实有这个打算,那么本篇就给大家带来一次沉浸式状态栏的微技巧讲解。其实说到沉浸式状态栏这个名字我也是感到很无奈,真不知道这种叫法是谁先发起的。因为Android官方从来没有给出过沉浸式状态栏这样的命名,只有沉浸式模式(Immersive Mode)这种说法。而有些人在没有完全了解清楚沉浸模式到底是什么东西的情况下,就张冠李戴地认为一转载 2017-09-18 15:44:52 · 524 阅读 · 0 评论 -
Android 转场动画 共享元素
Android 5.0之后的转场动画单个共享,效果图:注意:minSdkVersion 21 最小版本必须是21使用共享元素动画的时候,我们需要首先给MainActivity和Main2Activity中的两个button分别添加android:transitionName="mybtn"属性,并且该属性的值要相同,这样系统才知道这两个控件是共享元素。设置完成之后,接下来就是启动Activity的...原创 2018-04-13 20:24:58 · 894 阅读 · 0 评论 -
Android Retrofit下载网络图片
RetrofitUtil.getInstance().getImg().enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { //下载网络图片 if (response.isSuccess()) { I原创 2017-09-22 11:28:20 · 2955 阅读 · 0 评论 -
Android Glide
switch (v.getId()) { case R.id.tbn_qchc: //清除内存缓存 Glide.get(this).clearMemory(); break; case R.id.tbn_qcsdhc: //清除SD卡缓存 new Thread(new Runnable() {原创 2017-09-22 16:30:37 · 292 阅读 · 0 评论 -
android 友盟QQ分享
UMImage image = new UMImage(MainActivity.this, R.mipmap.gou);UMImage thumb = new UMImage(this, R.mipmap.gou);image.setThumb(thumb);UMShareListener umShareListener=new UMShareListener() { @Over原创 2017-10-23 10:56:20 · 571 阅读 · 0 评论 -
Android 如何设置状态栏的颜色
1.Android最小版本必须是Android 5.0系统也就是API最小是212.在Activity的onCreate方法的setContentView()方法后面写上如下一行代码就行了。getWindow().setStatusBarColor(0xff24cf5f);// 0xff表示透明度100% 加上颜色值就行了。如上:颜色值是: 0xff + 24cf5f原创 2020-06-27 12:08:24 · 406 阅读 · 0 评论 -
android OkHttp工具类
package com.jiyun.dell.xiongmaopindao.ui.tool.okhttptool;import com.google.gson.Gson;import com.jiyun.dell.xiongmaopindao.ui.App;import java.io.IOException;import java.lang.reflect.Parameterized原创 2017-11-21 11:25:41 · 353 阅读 · 0 评论 -
Andorid中如果在TextView中用drawable添加图片,怎么能改变图片与文字的距离
android:drawablePadding //设置text与drawable(图片)的间隔,与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可设置为负数,单独使用没有效果转载 2017-12-28 15:14:37 · 463 阅读 · 0 评论 -
Android OKhttp使用及原理
使用:单利模式的compile 'com.squareup.okhttp3:okhttp:3.8.1'public class OkHttpUtil { //静态本类对象 private static OkHttpUtil okHttpUtil; private OkHttpClient okHttpClient; ...原创 2018-04-13 20:28:27 · 1834 阅读 · 1 评论 -
Android 沉浸式状态栏
//沉浸式状态栏5.0以上if (Build.VERSION.SDK_INT >= 21) { View decorView = getWindow().getDecorView(); int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STA...原创 2018-02-10 16:25:26 · 177 阅读 · 0 评论 -
Android 给文字设置下划线
//给文字设置下划线的registernow.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);registernow是TextView控件原创 2018-02-10 16:26:03 · 787 阅读 · 0 评论 -
android textview 文本在代码中设置粗体效果
在xml文件中使用Android:textStyle="bold" 可以将英文设置成粗体,但是不能将中文设置成粗体。 将中文设置成粗体的方法是:1.TextView tv = (TextView)findViewById(R.id.TextView01); TextPaint tp = tv.getPaint();tp.setFakeBoldText(true); 2.要取消加粗效...转载 2018-02-12 15:16:08 · 834 阅读 · 0 评论 -
Android 自定义AlertDialog
//获取布局的管理对象LayoutInflater inflater = getLayoutInflater();//添加自定义的布局到viewView view1 = inflater.inflate(R.layout.dialog_activity, null);//显示AlertDialog并把自定义的布局添加到AlertDialogAlertDialog dialog = new A...原创 2018-02-12 16:30:10 · 187 阅读 · 0 评论