Android
文章平均质量分 83
sandalphon4869
这个作者很懒,什么都没留下…
展开
-
Android中file.exists()文件存在却报错false解决
自己想写个沙雕app,使用文件存储需要判断文件是否存在,但是一直报错,就改各种东西。最后想去看看Deviced File Explorer 文件管理器,结果发现问题出在居然没法通过file.exists()来判断指定的某个文件存在。查看打印,file.exists()返回值居然始终是false,实际上此文件是存在的,存在的!总结:exists()方法内的file必须是绝对路径才行,相对...原创 2018-12-05 18:21:43 · 14620 阅读 · 1 评论 -
【Android】使用intent传递数据
文章目录一、传递数据二、回传数据1.发出请求信息并接收回答的Activity2.填写回答的Activity三、例子一、传递数据要传递信息的Activity用到Intent提供的putExtra()方法第一个参数是键,用于要接收信息的Activity从Intent中取值。第二个参数是数据。Intent intent=new Intent(MissionActivity.this...原创 2019-08-26 09:33:33 · 991 阅读 · 0 评论 -
【Android】利用intent拨打电话
文章目录同启动浏览器类似,把Action换成Intent.ACTION_DIAL,setData()内的Uri前缀微tel:。Intent intent = new Intent(Intent.ACTION_DIAL);intent.setData(Uri.parse("tel:10086"));startActivity(intent);...原创 2019-08-26 08:20:49 · 1597 阅读 · 0 评论 -
【Android】倒计时功能之CountDownTimer
文章目录一、CountDownTimer类1.源码2.方法(1)构造方法(2)成员方法3.注意问题(1)内存泄漏:(2)处理:二、Demo1.扩展类2.内部类一、CountDownTimer类1.源码package android.os;public abstract class CountDownTimer { public CountDownTimer(long milli...原创 2019-08-23 14:08:24 · 524 阅读 · 0 评论 -
【Android】打包生成APK文件
文章目录工具栏密钥库发布版本工具栏Build->Generate Signed APK选择APK,供真机安装。(App Bundle是要上传到AppStore的)密钥库有的话就Choose existing…没有的话就新创一个:Create new…发布版本Build Type:release是指正式安装包,debugging是指调试包Signatur...原创 2019-08-25 22:53:26 · 191 阅读 · 0 评论 -
【Android】利用intent启动浏览器
文章目录一、启动浏览器二、指定浏览器一、启动浏览器构造:Uri uri = Uri.parse("https://www.baidu.com");Intent intent = new Intent(Intent.ACTION_VIEW, uri);startActivity(intent);分开:Uri uri = Uri.parse("https://www.baid...原创 2019-08-25 22:37:31 · 3207 阅读 · 0 评论 -
基于视觉感受的UI设计笔记
文章目录一、层次1.机制2.层次数量的控制3.使用颜色对比(1)例1:登陆界面(2)例2:数据界面二、主题1.颜色(1)一致(2)对比三、分割1.文字2.控件分割(1)间隙一、层次1.机制人类的大脑更喜欢三维的感受,讨厌单调的二维平面。双眼捕捉到的视觉在经过合成后就成了三维的感受,因此久而久之,我们更容易接受三维的感受。比如:我们就觉得五官立体的长相更好看,3D游戏电影更热卖。三维比...原创 2019-08-21 13:18:40 · 283 阅读 · 1 评论 -
【Android】利用intent启动活动
文章目录一、显示Intent1.核心概念2.例子二、隐式Intent1.基础知识(1)Intent()构造一、显示Intent1.核心概念利用显示Intent启动活动,只用在Activity文件中作出修改。Intent intent = new Intent(MainActivity.this,SomeoneActivity.class);startActivity(intent);...原创 2019-08-25 21:55:24 · 298 阅读 · 0 评论 -
【Android】View之ListView
文章目录一、ListView和Adapter二、ArrayAdapter(数组适配器)1.原型2.ArrayAdapter构建(1)构建(2)数据源三、simpleAdapter1.原型2.SimpleAdapter构建(1)对条目创建自定义布局(2)数据源一、ListView和AdapterListView和Adapter一起使用。ListView很简单,和别的View控件一样:都...原创 2019-08-20 18:59:30 · 314 阅读 · 0 评论 -
【Android】View之RecyclerView入门
文章目录一、简介二、基本自定义使用1.activity_main里定义控件2.自定义Adapter(1)给条目创建一个Class类(2)给条目创建一个布局(3)自定义Adapter3.在MainActivity中使用三、点击事件一、简介RecyclerView控件可以说是ListView的升级版,尤其是RecyclerView解决了ListView上控件和条目点击冲突的问题。Google官...原创 2019-08-28 17:46:13 · 205 阅读 · 0 评论 -
【Android】对话框之AlertDialog
文章目录一、AlertDialog1.最简单的AlertDialog2.加点组件(1)setMessage()简单文本(2)setItems()简单字符串列表(3)setSingleChoiceItems()单选列表项(4)setMultiChoiceItems()多选列表项(5)setAdapter()自定义列表项(6)setView()自定义View一、AlertDialog1.最简单的...原创 2019-08-31 10:16:54 · 250 阅读 · 0 评论 -
adb常用命令入门
文章目录一、链接问题1.kill-server与start-server2.显示二、常用1.adb push与adb pull2.install3.uninstall三、adb shell终端1.进入和退出2.input keyevent3.input tap4.input swipe6.screencap命令7.获取手机屏幕分辨率5.同linux文件系统(1)ls(2)pwd(3)cd(4)rm...原创 2019-09-29 20:53:41 · 1752 阅读 · 0 评论 -
Linux下Scrcpy入门
文章目录一、快捷键一、快捷键ActionShortcutShortcut (macOS)Switch fullscreen modeCtrl+fCmd+fResize window to 1:1 (pixel-perfect)Ctrl+gCmd+gResize window to remove black bordersCtrl+x | Doubl...原创 2019-09-29 16:48:00 · 3993 阅读 · 0 评论 -
Linux之安装Scrcpy手机模拟器
文章目录一、前置软件1.adb2.pip3二、安装Scrcpy1.依赖包2.下载安装Scrcpy三、运行Scrcpy能在电脑上投影手机屏幕,并且能在电脑上操作反过来控制手机。环境:Ubuntu 16.04 LTS一、前置软件1.adbUbuntu16.04安装adb2.pip3sudo apt install python3-pip这个pip3安好后还得更新一下(You a...原创 2019-09-28 13:03:42 · 9116 阅读 · 1 评论 -
Linux的adb识别失败:手机设备不能识别的解决
文章目录一、搞清问题:二、编辑.rules文件三、编辑adb_usb.ini文件环境:Ubuntu16.04 LTS一、搞清问题:在输入lsusb命令后,如果显示这样,那么问题就只是需要编辑.rules和adb_usb.ini这两个文件即可。PS:adb_usb.ini必须得有,这个是关键,有的教程错了就是因为不说这个。二、编辑.rules文件就是添加手机或平板设备的id和读写权限...原创 2019-09-28 12:34:17 · 1661 阅读 · 0 评论 -
【Android】如何更换icon和icon不变的问题
文章目录一、如何更换1.icon原理2.图标指向的文件3.ImageAsset工具二、icon不变的问题一、如何更换1.icon原理背景和前景,然后用mask裁剪出了一张圆形的应用图标。2.图标指向的文件在Manifest文件下可以看到这两个属性:android:icon这个属性将应用的图标指定为了mipmap目录下的ic_launcher文件。android:roundI...原创 2019-09-05 10:44:34 · 1734 阅读 · 0 评论 -
【Android】对话框之PopupWindow
文章目录一、PopupWindow二、函数1.几个常用的构造方法2.常用的一些方法(1)(2)显示(3)设置属性(4)消失三、一、PopupWindowPopupWindow比AlertDialog更灵活:1.可以选择任意位置弹出2.可以选择自定义布局效果3.还支持其他的美化效果二、函数1.几个常用的构造方法我们在文档中可以看到,提供给我们的PopupWindow的构造方法有九种...原创 2019-08-31 21:04:19 · 235 阅读 · 0 评论 -
【Android】ListAdapter的常用的子类
文章目录一、ListAdapter1.继承关系2.用于二、ArrayAdapter(数组适配器)1.原型2.ArrayAdapter构建例子(1)String数组(2)List泛型容器(3)自定义三、SimpleAdapter1.原型2.SimpleAdapter构建(1)对条目创建自定义布局(2)数据源一、ListAdapter1.继承关系常用的子类是ArrayAdapter、Simp...原创 2019-08-30 19:13:06 · 784 阅读 · 0 评论 -
【Android】AlertDialog与ListAdapter
文章目录一、ListAdapter二、ArrayAdapter1.简单的String2.自定义三、SimpleAdapter1.简单的String2.自定义一、ListAdapter子类是ArrayAdapter、SimpleAdapter、BaseAdapter。PS:RecyclerAdapter不行,不是继承的子类。二、ArrayAdapter1.简单的Stringpackag...原创 2019-08-31 09:56:05 · 1434 阅读 · 0 评论 -
【Android】使用第三方模拟器-网易MUMU
文章目录AMD不能使用AS自带模拟器网易MUMU模拟器Genymotion模拟器AMD不能使用AS自带模拟器所以得下第三方模拟器。网易MUMU模拟器下载完后把MUMU模拟器打开然后在命令行中使用adb命令连接adb connect 127.0.0.1:7555连接成功:Genymotion模拟器收费了...原创 2019-08-20 14:30:22 · 757 阅读 · 0 评论 -
【Android】View之Button总结
文章目录一、基础属性二、点击事件1.指定Button的onClick属性方式(1)首先在layout文件中指定onClick属性(2)然后在Activity中实现这个click方法2.点击事件“匿名内部类方式”3.点击事件“接口方式”(1)首先当前Activity实现OnClickListener接口(2)然后实现接口方法(3)最后绑定到button上一、基础属性<Button ...原创 2019-08-20 07:25:21 · 1324 阅读 · 0 评论 -
Android之TextToSpeech类
概念介绍:TextToSpeech将一段文字转换为语音。TextToSpeech是Android系统自带的类,不用导入别的包。语言:英文Ok,不支持中文步骤:new TextToSpeech类 初始化TextToSpeech引擎,即重写onInit()方法 设置朗读参数,调用朗读方法speak() 销毁TextToSpeech,调用stop()和shutdown()方法 ...原创 2019-02-19 17:49:08 · 1974 阅读 · 0 评论 -
android:exported、enabled属性
android:exported: android:exported 是Android中的四大组件 Activity,Service,Provider,Receiver 四大组件中都会有的一个属性。 代表是否能被其他应用隐式调用。如:在Activity中,该属性用来标示,当前Activity是否可以被另一个Application的组件启动:true允许被启动;false不允许被启动...原创 2019-02-19 13:51:09 · 17556 阅读 · 1 评论 -
Android实战之网络化编程
MainActivity.javaimport android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import...原创 2019-02-12 21:46:06 · 184 阅读 · 0 评论 -
Android:Activity销毁
1.Back键返回2.finish()方法button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); }});点击一下按钮,当前的活动就会被销毁,效果和Back键一样。...原创 2019-02-27 22:02:28 · 2271 阅读 · 0 评论 -
Android:menu菜单使用
一、简例1.创建文件2.编写代码my_menu.xml<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/acti..原创 2019-02-27 21:47:41 · 227 阅读 · 0 评论 -
Android之TextUtils.isEmpty()
Android开发中,使用TextUtils.isEmpty()来判断字符串是否为null或者空字符串"".但判断不了为"null"串(null+“”)的情况。 TextUtils.isEmpty()函数定义: pub...原创 2019-02-12 20:12:25 · 5263 阅读 · 0 评论 -
Android Studio报错
路径含有中文你的工程项目路径或者项目名称包含了中文,修改相关的名称就好了!如果是桌面路径下的Windows账号含有中文问题,修改有风险,还是把文件移动到D盘下别的文件夹里Your project path contains non-ASCII characters. This will most likely cause the build to fail on Windows....原创 2019-02-11 16:07:11 · 737 阅读 · 0 评论 -
Android Studio设置
导入Gson包方法一:在APP上点右键,然后选择Open Module Settings点击Dependencies,加号图标,选择1 Library dependency添加Gson包:com.google.cod.gson:gson:2.2.4】方法二:在Gradle Scripts 里,点击build.gradle(Module:app)...原创 2019-02-07 21:18:05 · 493 阅读 · 0 评论 -
Android中Adapter适配器入门
三个常用的Adapter:ArrayAdapter、SimpleAdapter和BaseAdapter。ArrayAdapter(数组适配器) ArrayAdapter()参数 ArrayAdapter(Context context,@LayoutRes int resource,Object[] objects)第一个参数:context上下文对象第二个参数:每一个ite...原创 2019-02-14 13:46:01 · 541 阅读 · 0 评论 -
【Android】选择时间功能之TimePicker、TimePickerDialog、DatePicker、DatePickerDialog
一、TimePickerMainActivity.javapublic class MainActivity extends AppCompatActivity { private TimePicker timePicker; @Override protected void onCreate(Bundle savedInstanceState) { ...原创 2019-02-19 19:26:12 · 508 阅读 · 0 评论 -
【Android】点九图
文章目录一、拉伸规则1.拉伸区域(左上):拉伸图片的宽高2.内容区域(右下):显示文字3.例子:二、制作1.AS中创建2.AS中编辑一、拉伸规则注意,对话框图片边缘至少要保留1PX空白间距,留给画黑线(点)。1.拉伸区域(左上):拉伸图片的宽高当指定了对话框的宽高的数值时,横向拉伸区域和纵向拉伸区域就会被拉伸成指定的高和宽。当没有指定对话框的宽高的数值时,横向拉伸区域和纵向拉伸区域...原创 2019-08-19 12:20:33 · 1390 阅读 · 0 评论 -
Android:Notification入门
Notification基本布局1:setSmallIcon 小图标 2:AppName 应用名称 3:setSubText 副文本 4:setWhen 通知发出的时间 5:setContentTitle 标题 6:setContentText 内容 7:setL...原创 2019-02-20 10:36:40 · 380 阅读 · 0 评论 -
Android:日志工具Log
一、简例@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); //一般我们使用Log.d(String tag,String msq) ...原创 2019-02-27 13:12:58 · 190 阅读 · 0 评论 -
Android:PendingIntent
一、PendingIntentPendingIntent 是一种特殊的 Intent ,字面意思可以解释为延迟的 Intent ,用于在某个事件结束后执行特定的 Action 。从上面带 Action 的通知也能验证这一点,当用户点击通知时,才会执行。简单的例子:Intent intent=new Intent(this,Main2Activity.class);PendingI...原创 2019-02-26 23:56:18 · 290 阅读 · 0 评论 -
Android:Notification初步
目录 一、简单用法 1.创建通知2.发送通知3.取消通知二、Notification.Buider常用方法1.布局(API 25)2.标题/内容/小图标3.大图标4.次要内容5.时间6. 计时器7.进度条8.状态栏摘要(ticker) 9.通知提醒(1)默认提醒方式(2)自定义方式10.点击通知启动setCont...原创 2019-02-25 21:44:46 · 591 阅读 · 0 评论 -
Android开发检测不到JDK的原因
目录Warning一、配置二、解释1.path变量:(0)如果没有classpath(1)配置path变量的目的2.配置classpath变量:(0)如果没有classpath(1)配置classpath的目的(2)classpath变量?3.配置JAVA_HOME变量:(1)为什么要配置?4.测试JDK是否安装成功Warning从...原创 2018-04-21 19:15:09 · 7095 阅读 · 2 评论 -
Android:Notification之SmallIcon制作
android5.0以上版本对Notification进行了改进,对于通知栏上的小图标不再支持五颜六色的png图像了,仅支持只有alpha通道的png图,还得只能用白色绘制。 可以使用photoshop创建此种图像: 步骤一:新建幅背景内容透明的RGB图像,并用白色画笔勾勒出图标的形状, 步骤二:切换到通道面板中新建一个通道(默认就为alpha通道),然后...转载 2019-02-25 18:52:42 · 3769 阅读 · 0 评论 -
使用c++多线程来加速adb shell input tap模拟点击
文章目录一、多线程二、代码一、多线程C++11之线程库thread二、代码tap命令大致会有差不多1秒的延迟,所以简单的for循环tap命令只是看到每隔1秒点击的效果。只要你的手机支持多点触控(现在一般都是),那么就能实现和你疯狂点击屏幕一样的速度。方法创建多个线程,每个线程都点击屏幕。同时,让这些线程大致都隔几十毫秒执行,这样就不会造成同时点击tap而只识别了仅仅部分的情况(手机反...原创 2019-10-11 20:13:40 · 2477 阅读 · 0 评论