- 博客(39)
- 资源 (7)
- 收藏
- 关注
原创 Dart-Aqueduct框架开发(八)
声明:本文首发于微信订阅号:Dart客栈,微信后台回复05168获取本篇源码文章为原创,如需转载请注明出处,并告知作者,谢谢!1. 介绍这一节我们来学习一下基于OAuth2.0的用户授权访问2.什么是OAuth?我们只需要明确,当用户使用用户名和密码进行登录时,服务端会返回访问令牌token、刷新令牌refreshToken、访问令牌过期时间给客户端,客户端把令牌保存下来,下次访问向服务器证明已经登录,只需要使用访问令牌进行访问即可,当令牌过期时,我们需要使用刷新令牌,重新把访问令牌请求下来覆.
2020-05-17 09:44:50
877
原创 Dart-Aqueduct框架开发(七)
上一篇声明:本文首发于微信订阅号:Dart客栈,微信后台回复05167获取本篇源码文章为原创,如需转载请注明出处,并告知作者,谢谢!1. 介绍这一节我们来详细的学习一下文件控制器FileController2. 什么是文件控制器?可以从名字看出,这个控制器用于管理文件的,一般来说,如果服务器拥有后台管理系统或者官网的话,都会挂web资源到服务器中,就以Java为例,我们通常将jsp文件挂在Java服务器下,当然了,这个是小编当初在大学学习时候的做法,因为那时候移动设备还不算特别发达,有一个网
2020-05-17 09:44:09
674
原创 Dart-Aqueduct框架开发(六)
上一篇声明:本文首发于微信订阅号:Dart客栈,微信后台回复05166获取本篇源码文章为原创,如需转载请注明出处,并告知作者,谢谢!1.介绍这一节我们来学习一下资源控制器ResourceController2. 什么是资源控制器?可以从名字看出,这个控制器是用来管理资源的,也就是上一节中介绍了控制器B,也可以称为端点的控制器,可以用以下图来描述:从上图可以得到的信息为,控制器可以处理多个请求路径,并可返回不同的内容,那么为什么它可以处理这么多个请求呢?如果多次请求让Controller处
2020-05-17 09:43:33
529
原创 Dart-Aqueduct框架开发(五)
上一篇声明:本文首发于微信订阅号:Dart客栈,微信后台回复05165获取本篇源码文章为原创,如需转载请注明出处,并告知作者,谢谢!1.介绍这一节我们来学习一下**Controller处理请求**2.什么是控制器Controller在Aqueduct框架中,我们主要使用Controller进行对请求和响应的处理,例如:我们可以使用控制器返回文章列表,也可以使用控制器验证请求是否通过,而这些控制器可以连在一起,构建成一个通道,当前一个控制器验证不通过时,这条请求将会被拦截掉,可以用下图来展示:
2020-05-17 09:42:48
537
原创 Dart-Aqueduct框架开发(四)
上一篇声明:本文首发于微信订阅号:Dart客栈,微信后台回复05164获取本篇源码文章为原创,如需转载请注明出处,并告知作者,谢谢!1.介绍这篇文章将详细介绍URL、路由,前几篇有小伙伴私信留言说讲得有点快,感觉跟不上,所以,接下来的文章中,将详细介绍Aqueduct的相关内容.2.什么是URL?每个http请求都有一个URl,可以作为客户端访问服务器的一个访问路径,例如:http://xxxx.com/image/xxx.jpg,当客户端请求该路径地址时,服务端将返回对应的图片资源给客户端
2020-05-17 09:42:13
477
原创 Dart-Aqueduct框架开发(三)
上一篇声明:本文首发于微信订阅号:Dart客栈,微信后台回复05163获取本篇源码文章为原创,如需转载请注明出处,并告知作者,谢谢!简介这篇文章将学习如何设置配置文件,连接PostgreSQL数据库1. 添加配置文件我们可以在main.dart中找到option.configurationFilePath,它的值对应为配置文件的路径,默认以项目为根路径import 'package:demo/demo.dart';Future main() async { final app =
2020-05-17 09:41:22
1047
1
原创 Dart-Aqueduct框架开发(二)
上一篇声明:本文首发于微信订阅号:Dart客栈,微信后台回复05162获取本篇源码文章为原创,如需转载请注明出处,并告知作者,谢谢!1.简介上篇文章中,我们学习了Aqueduct这个Dart服务器框架的核心概念和如何搭建环境,启动项目,今天我们来学习以下Aqueduct项目的整体结构、项目配置及如何编写我们的api接口2.项目结构配置编译工具我们一般以IDEA编程工具打开项目,在打开之前,我们需要添加Dart开发插件,打开IDEA,然后选择configure,找到Plugins在弹出
2020-05-17 09:40:30
744
原创 Dart-Aqueduct框架开发(一)
声明:本文首发于微信订阅号:Dart客栈文章为原创,如需转载请注明出处,并告知作者,谢谢!1.介绍Aqueduct是一个HTTP Web服务器框架,用于构建用Dart编写的REST应用程序。2.核心概念资源(Resources)资源是应用程序通过其HTTP API公开的内容,可以是任何东西,例如:分数,帖子,用户关系等,在获取资源时,一般以JSON的形式存储在响应体中。路由(Routing)HTTP请求资源的路径标识,例如:http://www.baidu.com ,当我们访问百度时,百.
2020-05-17 09:38:54
2099
2
原创 Flutter升级到预览版
本篇文章简单教你升级到预览版1.正常升级 当我知道今天Flutter推出了预览版,迫不急道的正常输入我们Flutter的升级命令. //升级版本命令 flutter upgrade你会看到如下所示,等待更新完..(嘿嘿,也有可能卡在那里一动不动是王八…) 等到最后,还是出错了,好吧,我们来看非正常更新(根本就不能正常更新嘛) 2....
2018-06-21 22:54:33
3917
原创 View与ViewGroup的触摸事件分发实测
布局如下: 测试结果: 正常 D/ViewGroupA: dispatchTouchEvent D/ViewGroupA: onInterceptTouchEvent D/ViewGroupB: dispatchTouchEvent D/ViewGroupB: onInterceptTouchEvent D/ViewA: dispatchTouchEvent D/Vi
2018-01-02 16:45:36
203
原创 Android中导出Sqlite数据库文件打开异常database disk image is malformal
前言最近公司将安卓平板中的应用数据库导出进行查看时,打开发现查看不了,并一打开提示"database disk image is malformal"分析原因它产生的原因有很多种可能,比如:磁盘空间不足,写入过程突然断电等.修复数据库1.下载工具2.解压文件3.将要修复的数据库复制到该目录下4.打开cmd程序切换到该目录下例如我的
2017-12-05 11:06:02
685
原创 ForeverViewPager 无限循环轮播图
前言:纵观百度,没有发现一个好用的轮播图,于是着手自己打造一款好用的轮播图,方便下次使用,并分享给大家,欢迎大家fork和star着急的朋友可以直接点击这里1.添加gradlebuild.gradle Project allprojects { repositories { ... maven { url 'https://jitpack.io' } }
2017-10-09 11:36:23
454
原创 Android之Mob短信验证简单使用
前言前几天刚刚集成了短信验证的功能,看了下官网的api使用,觉得不够简单易用,于是就自己封装到一个SimpleMobSMS类中,方便下次使用一行代码即可,1.发送验证码 /** * sendCode(区号,手机号码,监听) */ SimpleMobSMS.SendCode("86", "15913190463", new S
2017-09-29 09:21:12
446
原创 Android代码跳转到设置相关
前言很多情况下,我们都需要跳转的系统相关的页面,引导用户进行对自己应用权限的添加,这里,我总结了一些相关的跳转setting代码首先通用的代码为下面,需要传入的意图进行活动的跳转Intent intent=new Intent(意图);startActivity(intent);设置意图大全(测试机型,红米note4x)Setting类下的
2017-09-14 14:14:51
2117
原创 (Android网络4)Retrofit
前言一次偶然的机会,我学习了retrofit,使用起来十分方便,并且使代码的逻辑思路都清晰起来,如果配合RxJava,可以省掉大部分重复的代码,可以说,这一个网络框架是当前最火热的,让我们来起学习吧!1.Retrofit介绍Refrofit是由Square公司基于okhttp进一步封装而成的,Retrofit特点1.减少解耦,降低耦合,不同api互不干扰2.使用注解方式,代
2017-09-09 23:10:07
475
原创 (Android网络3)okhttp
前言okhttp这一个网络通信框架是我第二个学习的网络框架,很多公司也喜欢使用这一个框架,我们公司也使用,所以呢,学习这一套框架是很必要的,因为它可以实现大部分的网络请求,如普通的GET,POST请求,上传,下载,加载图片等..让我们一起来学习吧!!1.okhttp介绍okhttp是一个轻量级的框架,由移动支付公司Square公司贡献,目的是用于替代HttpURLConnection和
2017-09-08 17:15:29
346
原创 (Android网络2)Volley
前言Volley这一个网络请求框架,是我第一个学习的的网络框架,距离现在已经有一段时间没有用到的,这一个框架,学习起来还是蛮快的,因为它使用起来简单,可以实现大部分的网络请求,非常适合入门新手学习!但是有一点需要注意的是,这一个框架不适合做数据的上传和下载,这一点非常重要,切记!1.Volley介绍Volley就是齐射,并发的意思,是Google I/0 2013上发布的网络通信库,用
2017-09-07 17:39:16
346
原创 (Android网络1)HttpURLConnection
1.HttpURLConnection介绍(引自百度)URLconnection是个抽象类,它有两个直接子类分别为HttpURLConnection和JarURLConnection,另外一个重要的类是URL,通常URL可以通过传给构造器一个String类型的参数来生成一个指定特定地址的URL实例,每个HttpURLConnection实例都可以生成单个请求,但是其他实例可以透明的共享连接到H
2017-09-06 15:47:52
354
原创 Android开发模式之-观察者模式
1.新建一个被观察者,这里可以被多个观察者观察class Person extends Observables下面的跟新建一个实体类差不多,只不过在set/get方法中的set添加方法setChanged()setChanged()方法设置改变了notifyObservers()方法通知观察者我改变了,并且会调用update()方法 2.新建一个观察者,这里可以建多
2017-06-27 22:08:00
250
原创 沉浸式状态栏
添加如下代码就能实现简单的沉浸式状态栏了.需要注意的是,只能实现5.0系统以上的,5.0以下就不是这么简单了,这里只是当5.0以下时,为全屏效果if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.KITKAT){//透明状态栏 getWindow().addFlags(WindowManager.LayoutParams.F
2017-06-27 22:04:11
267
原创 解决RecyclerView代码复用问题
方法一. holder.setIsRecyclable(false);//取消复用,但会造成卡顿方法二.在Adapter下(就是添加一个标记集合,当是否点击,如果是就添加到这个集合中,否就移除,再判断一次当前是否在这个集合中,是就显示点击的状态,否就显示未点击状态)privateList Livelist=new ArrayList onBindViewHolder下playv
2017-06-27 22:00:14
12113
原创 Android记一次语音播报功能开发
首先先下载科大讯飞语音引擎包3.0http://mydata-1252536312.cosgz.myqcloud.com/rhymekdxf3.0.apk这个是我在腾讯对象存储的一个地址,可以下载下来然后安装转到手机的设置-辅助功能-tts设置成科大讯飞的语音引擎.添加如下代码: private TextToSpeech tts;onCreate:
2017-06-27 21:59:00
1281
原创 AndroidSQLite之记一次有就更新,没就插入
SQLiteDatabase db=getInstent(context);//初始化DB db.beginTransaction(); for (Parent parent:parents){ db.execSQL("replace into "+Par_Table+"("+ Par_Id+"
2017-06-27 21:57:31
1132
原创 获取原图宽高
BitmapFactory.Options bfo=newBitmapFactory.Options(); bfo.inJustDecodeBounds= true;//bitmap不存在内存中 bitmap =BitmapFactory.decodeFile("图片地址",bfo ); in
2017-06-27 18:23:31
325
原创 获取所有已安装的应用
1.获取packagemanager PackageManager manager =getContext().getPackageManager();2.获取已安装的应用 List packageInfos =manager.getInstalledPackages(0);3.遍历packageinfo列表,获取详情ApplicationInfoa
2017-06-27 18:22:06
630
原创 Fragment切换
private void switchFragment(Fragment from, Fragment to) { if (from == null && to == null){ return; } FragmentTransaction fragmentTransaction= fragManager.beg
2017-06-27 18:21:07
225
原创 Android studio更新到2.3后一直building
更新完2.3版本后,第一次新建一个项目,会出现一直building中原因是在下载gradle对应的版本,我们可以事先下载好对应所需的版本:把这个压缩包直接放在C:\Users\用户名\.gradle\wrapper\dists\gradle-3.3-all\55gk2rcmfc6p2dg9u9ohc3hw9这个下面,重新启动一下as,就大功告成了哈!
2017-06-27 18:19:43
248
原创 Handler&HandlerThread&Thread&AsyncTask详解
Handler防止内存泄漏:1.声明弱引用:static classmyHandler extends Handler { WeakReferencemActivityReference; myHandler(Activity activity) { mActivityReference= newWeakReference(activity);
2017-06-27 18:17:06
273
原创 Android开源数据库框架之LitePal
简介:郭大神对SQLite操作的封装,十分好用1.添加依赖包:compile'org.litepal.android:core:1.3.2' 2.New一个Directory为assets目录新建一个litepal.xml文件添加如下内容: 3.配置LitepalAp
2017-06-27 18:08:42
346
原创 解决使用NestedScrollView嵌套RecyclerView滑动不流畅
解决使用NestedScrollView嵌套RecyclerView滑动不流畅LinearLayoutManager layoutManager = new LinearLayoutManager(this);layoutManager.setSmoothScrollbarEnabled(true);layoutManager.setAutoMeasureEnabled(true)
2017-06-27 18:07:13
2216
原创 Intent传递List<object>方法
首先让你的object实现Serializable接口然后在传递时强制转换为Serializable类型:传递时类似intent.putExtra("address",(Serializable) movicelist.getMulu());这样其中movicelist.getMulu()得到的是一个List类型的list获取时 List mulus = (List)
2017-06-27 18:00:45
281
原创 单个dex文件不能超过65535个方法解决方法
1.原因:谷歌规定单个dex文件中的方法不能超过65536限制2.处理:1.分包处理2.使用谷歌推荐的multidex@在app下的build.grade下添加依赖compile 'com.android.support:multidex:1.0.1'@确保编译版本大于21.1@在app下build.grade里的defaultConfig添加multi
2017-06-06 09:31:22
1267
2
原创 Android之蓝牙开发初编(发现蓝牙,配对蓝牙,连接蓝牙)
1.添加蓝牙权限:2.搜索蓝牙(使用BluetoochAdapter)BluetoothAdapter adapter=BluetoothAdapter.getDefaultAdapter();//获取蓝牙if(adapter==null){//判断蓝牙是否可用 ToastUtil.showToast(context,"该设备不支持蓝牙"); return;
2017-05-16 14:55:32
639
原创 Android控件之Recyclerview
RecyclerView简介:RecyclerView是Android L版本中新添加的一个用来取代ListView的SDK,它的灵活性与可替代性比listview更好。RecyclerView重要的几个类:Adapter:他继承的是RecyclerView.AdapterLayoutManager:确定摆放布局LinearLayoutManager//水平或者垂直布局
2017-03-29 09:10:10
292
原创 Android之炒鸡简单实现控件的阴影效果
1.首先,我们来上一张图看到上面没有,是不是很想实现这个阴影效果呀!2.原理一:直接使用android:elevation="2sp"就可以实现了,但是只能针对5.0系统以上的,那么,5.0以下的该这么实现呢,3.其实炒鸡简单:我们只需要在控件的外围添加一层FrameLayout并且设置一下属性<FrameLayout android:layout_wi
2017-03-23 16:39:29
532
原创 Android使用自定义对话框报错:The specified child already has a parent. You must call removeView() on the...
自定义对话框使用AlertDialog.Builder,在onCreate方法下show一次对话框,布局中有一个按钮,点击后再次show这个对话框出来,会出现标题上的异常,经过多次调试,终于找到的解决的方法,直接上代码..private AlertDialog ad;AlertDialog.Builder ab= new AlertDialog.Builder(thi
2017-03-02 10:26:09
1247
原创 类似QQ控件动态输入框
final PopupWindow pw=new PopupWindow(v, ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT,true);pw.setTouchable(true);pw.setTouchInterceptor(new View.OnTouchListener() { @O
2017-02-26 12:23:36
345
原创 开机不出现屏幕启动程序
参考百度得来的资料:http://bbs.youkuaiyun.com/topics/390282287直接在AndroidManifest.xml中的Activity添加:android:name="android.intent.category.HOME" />android:name="android.intent.category.DEFAULT" />android:name="an
2017-02-23 23:51:56
422
Android Studio的Flutter插件
2018-05-18
proguard(5.3.2-5.3.3)
2018-01-08
Sqlite数据库修复工具RepairUR
2017-12-05
Android二级缓存
2017-10-09
HttpURLConnection
2017-09-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人