- 博客(43)
- 资源 (1)
- 问答 (5)
- 收藏
- 关注

原创 Material Design之侧滑
首先我在这里拿出一张图片来说一下这篇博客要说的内容。 这个功能也很常见,就是当你用手机左右滑动屏幕两端,会出现另外一个页面,一般情况下,这个页面都会放置自己的个人信息。 那么,这个功能该如何实现呢?首先,我们要知道使用了Material Design中的哪几个控件。这里我们要说下DrawerLayout布局,这个布局里面可以放置两个直接控件。<android.support.v4.widge
2017-10-30 20:42:21
680
原创 探究RecyclerView复用缓存机制
探究RecyclerView复用缓存机制RecyclerView中onCreateViewHolder与onBindViewHolder执行现象RecyclerView的复用机制及onCreateViewHolder与onBindViewHolder执行时机RecyclerView的回收机制问题结论RecyclerView中onCreateViewHolder与onBindViewHolder执行现象首先我们看下出现RecyclerView出现的情况,这里我们将布局管理器设置为GridLayoutMan
2020-10-18 14:21:36
588
原创 自定义View的一些注意点
自定义View的几个注意点View的坐标系自定义View重写OnTouchEvent(MotionEvent event)方法后Android Studio提示重写performClick(方法)Paint关于PorterDuffXfermode的几个问题View的坐标系自定义View重写OnTouchEvent(MotionEvent event)方法后Android Studio提示重写performClick(方法)我们在重写OnTouchEvent(MotionEvent event)方法时
2020-10-08 15:39:40
389
原创 ThreadLocal介绍
ThreadLocal详细介绍ThreadLocal的使用ThreadLcoal实现原理ThreadLocal的内存泄露错误使用ThreadLocal出现 线程不安全的情况ThreadLocal在Android中的使用场景ThreadLocal和Synchonized都用于解决多线程并发访问,但实现机制却有着本质区别。Synchronized是利用加锁的方式,允许某个代码块只能被一个线程所访问。而ThreadLocal则是通过为每个线程都提供变量的副本,这样每个线程在访问时,实际上访问的是属于自身的变量,
2020-10-04 09:33:26
381
原创 JNI简单使用
JNI(Java Native Interface ),java本地接口,为了方便java代码调用C++/C代码.Java本身的跨平台特性导致它和本地交互的能力不是特别强,一些和操作系统相关的特性Java没法完成.所以Java就提供了JNI接口历来调用C++/C编写的代码.下面写一个demo,让大家体会体会(注:我用的是Linux系统):新建一个文件夹jni2,在这里先写一个Java文...
2020-03-07 18:15:53
277
原创 基于Flutter的疫情填表软件
效果图:该项目采用Flutter+Bmob,Flutter插件的多样性,搭配Bmob提供的后端数据保存服务,使得整个项目的开发过程十分轻松.在项目中觉得比较吃力的地方主要在于答题页面和设计题目的页面.在答题页面,用户提交的选项随着屏幕滑动会清零,当时解决这个问题的第一想法就是有没有类似安卓中ListView的Item复用机制,百度一圈无果,无奈采用了单例模式来保存用户数据,用...
2020-02-29 21:53:04
1808
1
原创 高校图书馆座位预约软件简要介绍
项目效果图展示:项目源代码(安卓端):https://github.com/QQHEZhangyubin/DESK_MOBILE项目源代码(服务端):https://github.com/QQHEZhangyubin/desk该项目采用MVP+RxJava+Retrofit2结构开发.由于项目开发过程中采用的是自己的数据库,没有与图书馆数据对接,为了便于学生使用,选座页面在原来的基础...
2020-02-29 21:16:43
3235
1
原创 Linux中配置Flutter环境
我是在Linux系统下配置Flutter环境的,具体操作步骤如下:在flutter官网下载Linux 最新版的flutter_sdk,这里我没有下载最新版本的,导致用Android Studio 构建flutter项目时总是出错.下载好之后解压.终端输入第一个命令: vim ~/.bash_profile这里说明一点:Unbutu默认没有此文件,可新建,具体Linux有关环境变量的文件...
2020-01-12 20:16:51
1601
原创 GDB调试NASM语法的汇编代码
准备调试的nasm版的汇编代码如下:section .datasection .textglobal mainmain: ;100001/100 mov rdx,1 mov rax,86A1H mov rbx,100 div rbx mov rax,60 syscall有的程序会用'_start'代替'main',但是我用_start字样去测试时,总会出现:...
2020-01-09 23:08:48
692
原创 通过handler类向线程的消息队列发送消息
/**通过handler类向线程的消息队列发送消息,*每个Handler对象中都有一个Looper对象和MessageQueue对象*/public Handler(Callback callback, boolean async) { if (FIND_POTENTIAL_LEAKS) { final Class<? extends Handler> ...
2019-04-14 19:45:28
391
原创 Python生成马赛克图片
import ctypesimport reimport numpy as npfrom numpy import ctypeslibimport osimport cv2import multiprocessing as mpfrom multiprocessing.sharedctypes import RawArrayfrom scipy.spatial.distance ...
2018-11-20 16:40:22
1519
原创 搭建Spring MVC框架(一站式服务)
注:建议大家选择默认安装路径,出现错误也容易百度解决。java环境配置 tomcat安装 IDEA安装与破解 搭建Spring MVC 开源项目管理工具Maven介绍 搭建Spring MVC(Maven版)一,Java环境搭配(win10情况下)参考博客:https://blog.youkuaiyun.com/afei__/article/details/51464783二,Tomc...
2018-10-04 17:22:43
791
转载 Android权限 (代码区2)
public class AppSettingsDialogFragment extends DialogFragment { public static final String TAG = "AppSettingsDialogFragment"; public static final int DEFAULT_SETTINGS_REQ_CODE = 16061; ...
2018-08-17 09:50:49
338
转载 Android权限 (代码区1)
public class RationaleDialogFragment extends DialogFragment { public static final String TAG = "RationaleDialogFragment"; private static final String ARG_POSITIVE_BUTTON = "positiveButton";...
2018-08-17 09:49:29
301
原创 JSON快速入门(Java版)(代码区)
package com.qianmo.beziertest;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.widget.Toast;import com.qianmo.beziertest.entity.U...
2018-08-08 09:34:52
373
原创 自定义View实现网易云音乐留声机效果(代码区)
//绘制旋转了指定角度的唱针 private void drawNeedle(Canvas canvas,int degree){ //移动坐标到水平中点 canvas.save(); canvas.translate(halfMeassuredWidth,0); //绘制唱针手臂 needPaint.set...
2018-08-07 17:09:30
1248
原创 贝塞尔曲线简介和安卓实现动画效果展示(代码区)
public class MyView extends View { private Point controlPoint = new Point(200, 200); //控制点坐标 public MyView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { supe...
2018-08-03 13:24:01
613
原创 ViewPager实现Tab(2)
此篇博客接上一篇,继续完成ViewPager实现tab. 这里我们需要绑定事件。当我们点击ImageButton时实现tab切换。public void onClick(View v){ restImg();//先把图片替换成暗色 switch (v.getId()){ case R.id.L1: mViewP
2017-12-29 13:09:09
353
原创 ViewPager实现Tab
由于手机本身的空间没那么大,所以大部分情况我们都会使用tab来实现扩展手机页面。今天这篇博客我主要写下如何利用ViewPager 实现tab。 这里首先我们要准备好布局。 一个title布局,一个bottom布局,中间是一个ViewPager控件,这里我准备了3个tab布局。 布局文件就不做过多说明了,主要说下活动里面利用ViewPager实现Tab。 首先声明几个对象 priva
2017-12-28 22:04:53
594
原创 SQL分页加载数据
最近两天看了sql分页加载数据,然后自己也动手敲了一遍,今天整理了下思路,便写篇博客来加深下印象。 把整个项目的代码回顾一遍。大致把流程分为:新建一个类继承SQLiteOpenHelper。在这里我们可以设计表的字段名,一般情况我们会用另外一个常量类来保存这些字段名,可能是显得比较有层次感和条理性。创建数据库对象之后首先执行onCreate()方法,这里我们可以设计出来表,然后通过execSQL
2017-12-23 20:48:09
754
原创 MySQL简单语法(8)
子查询- 使用IN关键字的子查询 - 示例: - SELECT * FROM table1 WHERE QQ IN (SELECT QQ FROM table3 WHERE ORDErr=6) 解释:括号里面的为子查询,我们首先查到table3这张表里面存在的ORDErr=6的QQ数据,然后以查到的这条数据为依据,添加IN关键字查table1符合依据的数据。 - 如果括号里面的子查询
2017-12-13 19:42:08
321
原创 MySQL简单语法(7)
进行多表查询(隐式内连接)多表查询就是把多张表的数据集合到一个结果集里面(连接查询)。 内连接: 相连接的表地位平等 相连接的表必须存在公共的字段(列) 显示内连接查询数据的速度要快于隐式内连接 这里我打算详细贴出几张表来说明一下情况: table1: QQ GAME SCORE 1804942380 Kan 146 1804942387 H
2017-12-11 19:32:06
260
原创 MySQL简单语法(6)
对查询结果进行排序单列排序语法:SELECT *FROM table_name WHERE col_name ORDER BY [ASC]|DESC特点:ASC升序排列(默认),DESC降序排列例子:SELECT *FROM games WHERE GName=’p’ ORDER BY GNO DESC多列排序-语法: SELECT *FROM table WHERE col_name
2017-12-08 22:46:55
277
原创 MySQL简单语法(4)
普通条件查询语法:SELECT col_list FROM table_name WHERE condintion_expression例子:SELECT *FROM games WHERE GNO=9例子:SELECT *FROM games WHERE score>2500例子:SELECT *FROM users WHERE user_qq=1 AND score>400特点:查询符
2017-12-07 18:08:56
265
原创 MySQL简单语法(3)
删除数据使用 truncate table 删除数据 - 特点:不能添加where关键字,相当于删除整个表中的数据 - 语法:TRUNCATE TABLE table_name - 例子:TRUNCATE TABLE games 使用delete命令删除数据 - 特点:可以添加where关键字,可以删除表中指定的数据 - 语法:DELETE [FROM]table_name W
2017-12-06 20:12:07
232
原创 MySQL简单语法(2)
插入数据为所有列插入数据insert table_name values(v1,v2,v3….Vn)特点:列值同数,列值同序INSERT games VALUES(15,’abc’,’0210’)为特定列插入值insert table_name(col1,col2,col3) values (v1,v2,v3)特点:指定顺序,列值对应INSERT games(GNO,GName,GT
2017-12-05 22:40:59
274
原创 MySQL简单语法(1)
创建数据库create database DATA;切换数据库use DATA;创建表create table t1( id vachar(10) not null. name text, number char(10) not null, a1 double not null ) ##为列添加约束主键约束。保证实体完整性 create table t1 (
2017-12-03 21:49:09
265
原创 Android内置数据库SQLite
Android为我们提供了一个SQLiteOpenHelper帮助类来帮助我们方便地管理数据库。不过SQLiteOpenHelper是一个抽象类,我们需要建立一个自己的类去继承它,并且重写它的onCreate(),onUpgrade()方法,在这两个方法里面去写创建,升级数据库的逻辑。
2017-11-26 19:29:17
2436
原创 探究服务(二)--AsyncTask
为了方便我们在子线程中对UI进行操作,Android提供了AsyncTask来帮助我们。AsyncTask背后的实现原理也是基于异步消息处理机制。AsyncTask基本用法AsyncTask是一个抽象类,我们必须创建一个子类去继承它。在继承时我们制定三个泛型参数。Params 执行AsyncTask时需要传入的参数,可用于后台服务。Progress 后台任务执行时,如果需要在页面上显示当前任务进度,
2017-11-18 16:19:35
312
原创 探究服务(一)---异步消息处理流程
服务是Android中实现程序后台运行的解决方案。在学习服务之前,我们要明白,服务不会自动开启线程,所有的代码都是默认运行在主线程当中,我们需要在服务里面开启子线程来执行具体的服务。Android多线程编程类似于java的多线程,一般常用匿名类的方式。new Thread(new Runnable(){@Overridepublic void run(){//执行具体的逻辑}}).star
2017-11-18 15:21:13
610
原创 百度地图之添加覆盖物
前面我们关于百度地图的SDK的博客已经写了不少了,不过为了把地图这个功能做的更完善一些,同时也为了提高自己的技术,我们还是可以在目前所具有的功能之上再添加一些功能。今天这篇博客,我就讲讲如何在地图上添加覆盖物。
2017-11-05 19:05:44
1214
原创 结合Material Design的百度地图
关于百度地图SDK的博客已经写了三篇了,在前三篇博客里面,我介绍了如何显示自己区域的地图,如何显示自己的位置,如何结合方向传感器来指示手机方向。今天的博客内容关于百度地图的SDK内容并没有多么复杂,只是讲下如何结合Material Design的一些控件来添加一些百度地图的小知识点。利用Toolbar控件来放置切换按钮。
2017-10-30 19:55:57
413
原创 OkHttp的简单用法
开源盛行的今天,许多出色的网络通信库都可以代替原生的HttpURLConnection,而今天我们就介绍下OkHttp的简单用法。 OkHttp的项目主页地址是:http://github.com/square/okhttp.
2017-10-27 21:32:00
1928
原创 百度SDK之方向传感器的应用
如今大部分智能手机都有各种各样的传感器,在上两篇博客里面,我们学习了如何显示地图以及如何在地图上找到自己的位置。接下来,我们要结合方向传感器来配合手机来回移动。
2017-10-21 20:25:35
687
原创 百度地图SDK-真正意义上的地图
百度地图SDK-真正意义上的地图在上篇博客里面,我讲述了通过实例化LocationClient对象进行定位,得到自己所在位置的文字信息,这篇博客我们主要实现如何在地图上找到自己的位置。
2017-10-19 20:38:12
1437
原创 详解广播机制(借鉴郭霖老师著作)
为了便于进行系统级别的消息通知,Android引入了一套类似现实生活中广播的消息机制。Android 中的每个应用程序都可以对自己感兴趣的广播进行注册,这样程序就只会接收到自己感兴趣的广播内容,这些广播可能来自于系统,来自于其他应用程序。Android中的广播主要分成两种:标准广播和有序广播。标准广播是一种完全异步执行的广播,在广播发出之后,所有广播接收器都会在同一时刻接收到这条广播消
2017-09-09 13:42:32
477
TA创建的收藏夹 TA关注的收藏夹
TA关注的人