- 博客(31)
- 资源 (14)
- 收藏
- 关注
原创 AIDL基本用法
前言Aidl是android进程通信的一个办法,通过aidl我们可以跨进程调用方法。如果你仔细看完这篇文章,你将会有以下收获:1、aidl的基本使用2、aidl传递自定义对象3、client实现对Server的监听使用Aidl步骤1、在Server端创建一个aidl文件,把服务端想对外提供的服务在这个文件中声明。声明之后对AS进行rebuild,然后系统会为我们自动生成一个java文件2、在S
2017-09-05 11:07:12
797
原创 Android动画学习三(Activity跳转动画)
在本篇博客里面我们主要学习以下几个方面的内容:Activity跳转动画Activity跳转动画Android5.x之前在Android5.x之前,我们实现Activity的跳转动画主要是依赖overridePendingTransition(int enterAnim,int exitAnim)这个方法当启动一个Acitivity的时候我们可以为Activity增加启动效果; 示例:
2017-08-25 20:16:54
800
原创 Android动画学习一
android动画分类1、视图动画 - 补间动画 - 帧动画2、属性动画(3.0之后) 视图动画平移旋转缩放透明度帧动画对于上述动画我们都可以使用XML实现或者使用代码实现。为了演示充分,前两种我们通过XML形式实现,后面两种我们通过代码实现。(两种相比较更推荐以XML形式去实现动画。这种方式写动画效果更简单易懂)XML实现平移首先检查res下面是否
2017-08-24 23:28:31
449
原创 Android使用XML文件绘图(Shape,Layer,Selector)
Shape的使用Shape基础知识Shape支持图形:1、rectangle2、oval3、line4、ringShape常用属性含义 属性名称 属性含义 用处 corners 角 shape = rectangle时使用,可以用来绘制圆角矩形 size 大小 为这个shape指定大小,一般在ImageView配合ScaleType使用 gradient
2017-08-24 11:53:59
613
原创 服务器搭建:servlet+dao+javabean+jsp实现简单的用户登录(三)
前言:这篇文章是讲怎么把从浏览器端实现用户登录改为从android手机客户端实现用户登录。对于Android上的网络请求处理我们使用的是OkHttp,这是一个非常好的开源网络请求框架。 这是OkHttp的项目主页:https://github.com/square/okhttp在这篇文章之前还有两篇博客,里面讲了服务器搭建的一些比较基础的知识。(前两篇博客里面java工程都是使用eclipse开发
2017-08-23 17:32:08
1417
原创 自定义View学习三(MRecyclerView)
前言:RecyclerView在项目中的使用之频繁不用我再去过多的强调了。每一次我们使用RecyclerView的时候总要为RecyclerView写适配器,写 ViewHolder,并为Adapter转换数据等。如果我们需要为RecyclerView再添加Header,Footer,加载更多监听等,我们又不免要再写近百行代码。 可不可以不做这些?当然可以!下面请看MRecyclerViewMRe
2017-08-22 17:23:36
450
原创 自定义View学习二(Banner实现)
前言:在android开发中经常会用到Banner,一直想自己实现一个,但是都没有去做过。 实现banner轮播的一个比较困难的地方就是实现无限轮播。网上有很多实现无线轮播的办法,有些比较好,但是稍微要麻烦了一些。下面这种方式是我改进的一种。本人觉得效果还不错。请看PagerAdapter代码轮播核心部分 //重写PagerAdapter来实现轮播效果 inner class M
2017-08-21 17:40:21
458
原创 自定义View学习一(圆形头像)
前言系统为我们提供的控件是有限的,当我们想要在有限的屏幕上显示更丰富多彩的内容,我们往往需要自定义控件。作为一个android初学者,我对android的自定义View也不是很熟悉。这段时间刚好无事,就先从我们平常使用的圆形头像开始练起吧。使用BitmapShader控件实现主代码CircleImageView.ktclass CircleImageView : ImageView { pri
2017-08-21 11:04:20
510
原创 Java 并发--线程
前言谈到并发,一个基础的概念就是java线程了。线程是CPU调度的基本单位。在单核CPU上,多个线程的“同时”执行其实就是把一段时间切成若干时间片。cpu在某个具体的时间片里面运行某个线程,当这个时间片用完之后,CPU会进行上下文切换(暂停当前运行的线程,运行另外一个线程)。CPU进行上下文切换需要开销,而且线程的创建和销毁同样需要开销,所以有人可能会说多线程只是对多核CPU运行有意义,其实不然。如
2017-08-07 22:07:36
609
原创 Java 注解1
前言: 注解(也被称为元数据)为我们在代码中添加信息提供了一种形式化的方法,是我们可以在稍后某个时刻非常方便地使用这些数据。标准注解注解的语法比较简单,除了@符号使用之外,它基本与Java固有的语法一致。Java SE5内置了三种,定义在java.lang中的注解。@override:表示当前的方法定义将覆盖超类中的方法,如果你不小心拼写错误,或者方法签名对不上覆盖的方法,编译器就会发出错误的提示
2017-08-05 16:48:57
321
原创 Anroid开发艺术探索(View事件分发)
一、View的事件分发机制 1、点击事件的传递规则 在介绍点击事件传递规则之前,首先我们要明白这里要分析的对象就是MotionEvent,即点击事件.所谓的点击事件分发实际上就是对MotionEvent事件的分发过程。当一个MotionEvent产生了之后,系统需要把这个事件传递给一个具体的View,而这个传递的过程就是分发过程。点击事件的分发过程由三个很重要的方法来共同完成:dispatchT
2017-08-04 00:34:16
483
原创 Anroid开发艺术探索(View事件基础知识)
一、View基础知识1、什么是ViewView是Android中所有控件的基类,不管是Button和Te复杂的TextView还是复杂的RelativeLayout等,它们的共同基类都是View。所以说,View是一种界面层控件的一种抽象,它代表了一个控件。除了View还有ViewGroup内部包含了许多个控件,即一组View。在Android的设计中,ViewGroup也是继承了View,这就意味
2017-08-02 22:42:04
424
原创 Android开发艺术探索(Activity)
一、Activity生命周期分析1:典型情况下的生命周期分析(1)、onCreate:表示Activity正在被创建,这是生命周期的第一个方法onRestart:表示Acitivity正在重新启动,一般情况下,onRestart是在当前activity从不可见重新变为可见状态时被调用onStart:表示Activity正在被启动,在逻辑意义上Activity已经是可见的,但是我们用户并不能看到。
2017-08-02 00:00:20
762
原创 Tips of Android(不定时更新中)
一、向android工程中引入特殊字体 引入字体(ttf,otf均可): 在android工程的src文件夹下面建立assets文件夹。如图: 建立好之后在app的gradle里面声明assets文件夹的所在目录 使用方式: val typeFace:Typeface = Typeface.createFromAsset(assets, "fofbb_i
2017-07-31 19:30:06
442
原创 Android错误和解决
1:移植别人的代码,当代码中含有自定义view的时候,如果我们直接拷贝别人的布局文件,那么xml文件这个自定义view的引用路径可能会出错,如下:java.lang.ClassNotFoundException: Didn't find class "com.example.imagescan.MyImageView" on path: DexPathList[[zip file "/data/ap
2017-05-13 19:47:11
512
原创 Android常公用函数收集
1:来自seal_talkimport android.app.Activity;import android.content.Context;import android.content.Intent;import android.content.res.Configuration;import android.content.res.Resources;import android.n
2017-05-12 00:05:58
421
转载 Android Studio Error:Connection timed out: connect.解决方案
转自:http://blog.youkuaiyun.com/u013541140Android Studio升级到了2.0版本,但是遇到了这样的错误:Error:Connection timed out: connect. If you are behind an HTTP proxy, please configure the proxy settings either in IDE or Gradle错误
2017-05-09 21:11:45
2721
原创 Window Api: 文件管理
一:删除,复制,重命名,移动文件#include <windows.h>#include <stdio.h>/*** 删除: -d 文件路径* 复制: -c 旧文件路径 新文件路径* 移动/重命名: -m 旧文件路径 新文件路径*/int main(int argc, PCHAR argv[]){ if(lstrcmp("-d",argv[1]) == 0 &&
2017-05-06 15:38:33
513
原创 Linux文件系统函数调用案例
刚学C++时老师布置的一个实验作业。#include <iostream>#include <iomanip>#include <fstream>#include <sstream>#include <vector>#include <string>#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#incl
2017-05-06 14:49:40
464
原创 几种常见的排序
冒泡排序: for(int i = 0;ilength;i++){ for(int j = array.length-2;j>=0;j--){ if(array2[j+1]<array2[j]){ char temp = array2[j+1];
2017-04-23 19:43:15
319
原创 二叉树的遍历
1前序遍历: 先访问节点,后访问子节点 ABDCEGFHI 先打印根节点,接下来打印所有左子树的节点,最后打印右子树的节点。2后序遍历: 先访问子节点,后访问节点 DBGEHIFCA3中序遍历: 先访问左子节点,再访问节点,最后访问右子节点 BDAGECHFI
2017-04-23 10:08:27
342
原创 C语言函数指针
#include <stdio.h>#include <stdlib.h>typedef struct calcu{ int (*add)(const int*,const int*); int (*sub)(const int*,const int*); int (*mul)(const int*,const int*); int (*div)(const int
2017-04-20 17:13:52
245
原创 android button设置边框背景颜色
<?xml version="1.0" encoding="UTF-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 边框颜色值 --><item> <shape> <solid android:color="@color/colorAccent" />
2017-04-02 14:55:50
3336
原创 服务器搭建:servlet+dao+javabean+jsp实现简单的用户登录(二)
上一篇我们谈到把用户登录时用的登录名输出到控制台,但是并没有对用户的合法性进行验证,下面我们将把程序链接到数据库,然后再数据库里面查询是否有这个用户,然后再判断是否让这个用户登录。java链接数据库的jar包和servelt的包已经在上篇文章中给大家了,大家也可以自行到官网中下载。在开始下面的阅读之前,请先自行安装配置好mysql。如果之前对mysql不了解可以先到这个网站去学习一下。http://
2017-03-25 15:56:47
5758
4
原创 服务器搭建:servlet+dao+javabean+jsp实现简单的用户登录(一)
前一段时间写了一个应用,里面需要用户的登录注册。由于以前没有涉及过这方面的知识,所以走了很多弯路。花了好几天才完成了用户的登录。犯错的原因一是对于工程的目录结构不了解,而是对于各个部分的作用不了解。这周我们老师刚好讲到web服务器的搭建,听完他说得才知道以前自己搭建的那一个是多么烂。好了,开始正题:(一):工程的创建 首先打开eclipse,如图所示,创建一个动态的web工程 选择Tomcat的
2017-03-24 17:32:44
1672
1
原创 Android自定义控件——歌词显示
这段时间在写一个音乐播放器,需要显示歌词,下面是我写的一个歌词显示的view。目前它已经可以完成歌词的基本显示,细节地方后期继续完善。MainActivity从资源文件读入歌词,歌曲,并利用正则表达式解析歌词变为我们想要的格式。解析之后得到两个list: timeList 和 contentList。我们把这两个list传入LrcView中,然后显示。 歌词是下载百度音乐的歌词解析的,我觉得自己写
2017-03-23 17:16:08
1610
原创 Java几种集合的遍历方法
(一):Maplong num1 = 100,num2 = 200;String str1="hello",str2="world";Map<Long, String> map = new HashMap<>();map.put(num1,str1);map.put(num2,str2);for(Map.Entry<Long, String> entry:map.entrySet()){
2017-03-23 13:40:57
493
原创 android 常用Bitmap处理方法收集:普通裁剪,缩放,圆形裁剪
代码是平常使用时收集的,并不是我本人所写。这些bitmap处理方法在我的android程序里面使用相对较多,希望对大家也有些帮助。import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Matrix;import a
2017-03-21 11:21:06
13833
1
原创 libpcap流量统计
最近老师让写一个流量监控程序,用到了libpcap编程。虽然很简单,但是前期也走了一些弯路。最初是直接从别人博客里面copy的代码,然后运行时就是结果就是不正确。本以为是系统问题,我又装了个双系统。。。现在我把自己的代码分享出来吧,这些是我自己运行成功的,代码很简单,只是希望能给新人一些借鉴。首先:我们先得到我们的设备名称,因为之后我们需要根据名称指针来打开我们的设备,得到名称指针的方式如下:
2016-12-17 01:01:04
2558
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人