Android
YDDUONG
这个作者很懒,什么都没留下…
展开
-
Android移动开发,传输数据到电脑本地服务器(flask)
大概流程安装flask,新建并运行一个本地服务器测试服务器写Android接口,使用OKhttp进行数据传输手机端:(效果展示)服务器端:安装flask:pip install flask新建并运行服务器:# coding="utf-8"from flask import Flask, request, render_template# create a MyFl...原创 2020-04-28 13:02:02 · 2107 阅读 · 5 评论 -
Android(手机)连接电脑本地服务器(flask)
本着怎么简单怎么来:运行服务器确保电脑和手机连在同一个WiFi下查看查看局域网IP,关闭防火墙测试运行服务器# coding="utf-8"from flask import Flask# create a MyFlask appapp = Flask(__name__)@app.route("/")def index(): return "Hello wo...原创 2020-04-28 09:34:22 · 1898 阅读 · 0 评论 -
Android移动开发,Handle使用
handler可以看做是一个事件分发器,可以立即执行,也可以延时执行(小白理解)package com.ydduong.gsa.viewclass A { // 1.标识码 private val msgAudioPrepared = 0x111 private val msgVoiceChanged = 0x112 private val msgDialo...原创 2020-04-22 20:38:48 · 275 阅读 · 0 评论 -
Android移动开发,接口回调
开发中总会遇到一些这样的情况,当A完成某件事或到达某个状态之后,通知B去做另一事(这样说可能不准确),就可以利用接口回调来实现创建一个interface和方法注册事件事件触发在A类中,创建一个接口并注册事件package com.ydduong.gsa.viewclass A { // 1.回调接口对象 private lateinit var aListen...原创 2020-04-22 20:25:03 · 255 阅读 · 0 评论 -
如何打开别人的Android项目
对于一个别人的Android项目,想在本机跑,如果不想重新下载一堆额外的插件,可以在使用Android studio打开项目前先修改设置,只需要一般修改三个文件的内容,就可以很快的将项目跑起来。假设项目名称叫master,需要修改的文件如下:master\build.gradle 文件master\app\build.gradle 文件master\gradle\wrapper\gradl...原创 2020-04-12 12:31:59 · 9631 阅读 · 1 评论 -
如何精简Android项目,再发给别人?
1、先删除根目录的文件夹及文件,都是编译过的文件、本地文件2、之后删除app目录下的文件夹及文件没错到这一步已经结束了,项目从51.4M减到283KB了...原创 2020-04-12 12:27:49 · 928 阅读 · 0 评论 -
Android 首页轮播图实现
先看一下效果:(图片是有指示器的,只是被上层的视图挡住了,这里不需要这个东西)参考:https://github.com/zhpanvip/BannerViewPager详细的API可以看这个:https://zhuanlan.zhihu.com/p/80802091开始使用,添加依赖:allprojects { repositories { ... mav...原创 2020-03-28 19:40:52 · 2670 阅读 · 0 评论 -
Android状态栏适配和自定义toolbar胶囊按钮(可实现半透明状态栏)
自己搞开发,简单状态栏适配和自定义toolbar胶囊按钮,先看两张效果图:如果你也在寻找沉浸式状态栏,应该也看过好多资料了,以及各种Android版本适配,但是自己用的话就变卦了…,所以尽量简单点,就能达到我们想要的结果,先说说思路:通过主题设置,让布局填充状态栏,并且使状态栏为透明在布局里不使用android:fitsSystemWindows="true"属性(这个属性会使布局下移一...原创 2020-03-28 18:16:00 · 2952 阅读 · 9 评论 -
将Pytorch模型部署到Android端
准备:pytorch1.4(pytorch环境至少要在1.3以上,当前最新版本1.4)已经训练好的pytorch模型Jetpack组件:CameraX(这个用来调用相机的)如有需要,可以先看看我这两篇博文:如果pytorch环境不满足,进行pytorch环境升级:win10+pytorch1.4+cuda10.1安装:从显卡驱动开始Jetpack组件:CameraX,使用前一定要...原创 2020-03-09 15:07:35 · 24130 阅读 · 34 评论 -
Jetpack CameraX实践,预览(preview)及分析(analysis)
最后的效果如下:(实现相机预览和显示图片亮度)CameraX(主要关注三块内容前三个内容)图像预览(Image Preview):就是将画面显示在手机上图像分析(Image analysis):分析图片队列里的图片,比如:计算图片亮度,深度学习的图像识别和图片分类等图像拍摄(Image capture):就是拍照片,保存到相册图像触碰(Image touch):点击屏幕聚焦、拍摄图片...原创 2020-03-08 10:43:56 · 6126 阅读 · 12 评论 -
菜单栏中和页面上的SearchView简单使用
1.预览SearchView可以在菜单栏中,也可以单独放在页面上,下面分开来讲(实现效果图如下:) 2.菜单栏中的SearchView2.1新建一个menu文件<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android" ...原创 2020-02-17 13:01:01 · 1181 阅读 · 4 评论 -
TextView设置边框
在drawable文件夹下新建一个xml(text_view_shape.xml)文件,写入一下代码:<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">...原创 2020-02-17 10:25:42 · 3466 阅读 · 0 评论 -
Android 设置应用启动动画
流程如下:导入一张图片到Android项目中去新建一个welcomeActivity修改ActivityManifest文件1.导入一张图片到Android项目找到一张图片,粘贴复制到项目下drawable目录下(注意图片的名字,只能是小写字母、数字和下划线组成)2.新建welcomeActivity2.1 修改布局文件activity_welcome.xml(添加一个Imag...原创 2020-02-15 10:46:37 · 8240 阅读 · 3 评论 -
Cannot run program CreateProcess error=206, 文件名或扩展名太长
1.在build.grade(Project: xxx)中添加依赖和库//dependencies中添加:classpath "gradle.plugin.com.github.viswaramamoorthy:gradle-util-plugins:0.1.0-RELEASE"//repositories中添加:maven {url "https://plugins.gradle.org...原创 2020-02-13 12:29:40 · 3263 阅读 · 1 评论 -
Android ViewPager2实现顶部导航
1.实现效果 2.添加依赖implementation 'androidx.viewpager2:viewpager2:1.0.0'implementation 'com.google.android.material:material:1.2.0-alpha04'3.创建fragment4.修改布局在activity中添加布局:(divider是分割线)此外手动将view...原创 2020-02-12 16:48:31 · 1970 阅读 · 1 评论 -
ViewModel变量初始化方式
class WordViewModel(application: Application) : AndroidViewModel(application) { //方式一: private val _allWord: LiveData<List<Word>> by lazy { WordRepository.getInstance(appli...原创 2020-02-12 13:09:09 · 2942 阅读 · 0 评论 -
Android studio观察日志简单实例
代码:package com.example.ngslimport android.os.Bundleimport android.util.Logimport androidx.appcompat.app.AppCompatActivityclass MainActivity : AppCompatActivity() { override fun onCreate(sav...原创 2020-02-12 13:02:49 · 733 阅读 · 0 评论 -
Jetpack组件Room简单Demo
1.Room介绍Room是处理数据库的一个中间件,光其自身就有很多组件和概念,这个demo主要用到entity,dao,database,repositoryentity 实体,创建一个表格dao 接口类,是一种数据访问对象,使用dao从数据库中获取实体,访问数据库的一个interface,增删改查都在这database 抽象类,父类是RoomDataBase,主要是将entity和da...原创 2020-02-12 12:12:48 · 424 阅读 · 0 评论 -
Jetpack组件WorkManager简单demo
1.WorkManagerWorkManager,个人理解它是一个后台任务管理器,可以保证那些不一定即时完成但一定要完成的任务,WorkManager必须工作在jdk1.8以上使用前先添加依赖:implementation "androidx.work:work-runtime-ktx:2.1.0如果代码没错,但是就是编译不通过,可以参考GitHub上的build.gradle配置2.继承...原创 2020-02-12 11:05:37 · 579 阅读 · 1 评论 -
RecycleView和Adapter的基本使用
1.创建布局文件,word_fragment用来放Recycle,word_fragment_grad_cell用来放小单元word_fragment布局:word_fragment_grad_cell布局:(卡片布局)2.创建适配器wordFragmentAdapter类package com.example.ngsl.wordFragmentimport android.con...原创 2020-02-12 10:42:40 · 712 阅读 · 0 评论 -
Android项目解析CSV文件策略
其实,我已经goodle很多了,但都不理想,这里我提供一个思路,将CSV文件转化成JSON文件,通过Gson来解析文件,方便的很。1.文件转化创建一个python文本,写入以下代码,将要转换的CSV文件,放在同级目录下python脚本如下:import csvimport osimport sysDATA_PATH = os.path.join(sys.path[0], 'word...原创 2020-02-11 22:34:53 · 692 阅读 · 0 评论 -
Android项目解析本地Json文件
主要流程:新建assets文件夹,导入本地文件添加Gson依赖,解析Json文件1.新建assets文件夹,导入本地文件1.1将项目视图换成Project Files1.2找到main文件夹,右击新建assets文件夹1.3Ctrl C和Ctrl V将Json文件复制到assets文件夹下2.添加Gson依赖,解析Json文件2.1Gson依赖依赖:implementa...原创 2020-02-11 16:23:31 · 3064 阅读 · 0 评论 -
Android添加room依赖的正确姿势(附带完整流程)
1.添加完room依赖,一直build running,最后提示Read time out查看错误发现以下错误:Execution failed for task ':app:kaptGenerateStubsDebugKotlin'Could not resolve all files for configuration ':app:kapt'.Could not download ko...原创 2020-02-10 13:50:09 · 9918 阅读 · 2 评论 -
editText或PlainText文本输入框基本操作,监听键盘确认键
1.修改Acticitymanifest文件添加android:windowSoftInputMode="adjustNothing"完整文件如下:<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" pa...原创 2020-02-07 15:22:56 · 3549 阅读 · 1 评论 -
Jetpack组件Navigation导航的一些概念
1.基本概念navigation: 导航navHost: 是一个容器或者控制器,里面放fragmentfragment: 碎片化屏幕,一个activity可以有多个fragment,是一种容器,里面可以放navHostnavController: 控制导航的逻辑,驱动导航图navGraph: 导航图2.导航代码基本设置完成之后,跳转代码:(以下代码都是放在监听事件中的)//获取na...原创 2020-02-07 13:31:12 · 578 阅读 · 0 评论 -
Jetpack组件:ViewModel,LiveData,DataBinding简单实践,附Demo
1.基本概念1.1组件介绍ViewModel: 存放和管理UI界面就是View中的数据LiveData: 给数据添加一个观察者,当数据发生变动时,自动刷新UI界面上的数据DataBinding: 管理UI界面的控件,就不需要要findViewById之类,同时可以将数据和一定操作回绑到view中通过上面这三个组件就能够使activity或fragment只需要专注业务逻辑本身1.2De...原创 2020-02-05 15:13:39 · 860 阅读 · 0 评论 -
Android开发,实现图片缩放
1.添加依赖implementation 'com.github.chrisbanes.photoview:library:1.2.4'2.将xml文件中的ImageView控件替换成PhotoView以前的:<ImageView android:id="@+id/imageView" android:layout_width="match_pare...原创 2020-02-04 17:39:12 · 1379 阅读 · 1 评论 -
jetpack实例化ViewModel子类,ViewModelProviders弃用
在build.grade中添加依赖(版本可不一样):implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'grade之后,在activate或fragment中实例化自定义的ViewModel:先:import androidx.lifecycle.ViewModelProvider再:selfViewModel =...原创 2020-01-28 16:30:23 · 7847 阅读 · 6 评论 -
Emulator: emulator: ERROR: AdbHostServer.cpp:102: Unable to connect to adb daemon on port: 5037
第一次run项目的时候Event log疯狂报以下错误:Emulator: emulator: ERROR: AdbHostServer.cpp:102: Unable to connect to adb daemon on port: 5037网上找了很多,各种提示要我配置adb的环境变量,杀死占用5037端口的线程……毛用没得……解决方案:允许Android SDK目录下的可执行文件...原创 2020-01-26 21:04:45 · 34089 阅读 · 11 评论 -
Android开发,kotlin协程保存图片
1.添加依赖在build.gradle(Module:app)文件添加以下依赖implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.2.0'2.将要处理的事件放到协程中,定义一个函数//协程处理保存图片private suspend fun savePhoto() { //关键字suspend:在另外的线程允许挂起 ...原创 2020-02-04 17:05:47 · 1599 阅读 · 0 评论 -
Android开发,动态请求权限(activate和fragment)
以请求一个保存图片的权限为例。<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>1.在AndroidMainfest文件中添加上面代码块内的权限<?xml version="1.0" encoding="utf-8"?>...原创 2020-02-04 16:51:37 · 1712 阅读 · 0 评论 -
Android studio 3.5.3 第一次启动卡在gradle sync,run是灰色的
将build.gradle文件内的google()和jcenter()全部注释掉,换成阿里云的,重启Android studio,等待一会下载相关文件,就可以完成gradle了// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscrip...原创 2020-01-26 16:21:55 · 2515 阅读 · 0 评论 -
Android实验三:天气预报应用实现
i. 问题描述 本次实验要求开发一个综合性APP,实现基本的天气预报、通知和分享功能等。1.如何实现平板和手机都适应的APP。2.如何从网络上获取数据,并解析JSON数据。3.如何使用SQLite,实现数据的存取。4.如何设计各个菜单按钮,并实现其功能。5.如何调用地图实现定位。6.如何设计后台服务,实现定时通知。7.如何实现activity与fragment,fr...原创 2019-01-13 08:47:42 · 29611 阅读 · 27 评论 -
Android实验二: Activity的生命周期及Intent
i. 问题描述 本次实验要求开发一个简单的APP,来理解Activity的生命周期以及使用Intent在Activity之间进行简单的数据传送。 1.如何定义APP界面的XML文件构建:4个按钮,3个文本以及2个定高的文本显示框。 2.如何记录Activity_A,Activity_B,Activity_C各个生命周期的调用。 3.如何将A...原创 2018-11-13 17:24:08 · 4093 阅读 · 1 评论