Activity任务栈以及启动方式

简单介绍一下Task:Task是一个具有栈结构的对象,一个Task可以管理多个Activity,启动一个应用也就创建了一个与之对应的task。

首先假设在当前Activity中启动自身

1
2
3
Intent intent=new Intent();
intent.setClass(MainActivity.this,MainAcicity.class);
startActivity(intent);

查看更多

评论

自定义View-SwitchButton

系统自带的(5.0之前的)switch 实在是不好看,实际需求是要有一种直观的 开和关 的感受。下面就通过自定义view来实现一个炫酷的SwicthButton

0. 继承View实现OnTouchListener接口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Blog_SwitchButton extends View implements OnTouchListener {
private Bitmap bg_on, bg_off, slipper_btn;
// 按下时的x和当前的x
private float downX, nowX;
// 记录用户是否在滑动
private boolean onSlip = false;
// 当前的状态ON / OFF
private boolean nowStatus = false;
// 监听接口
private OnChangedListener listener;
// 两个构造函数
public Blog_SwitchButton(Context context) {
super(context);
init();
}

public Blog_SwitchButton(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}

查看更多

评论

Android 使用Viewpager实现主界面的不同页面之间的切换

一个主界面上可以通过左右滑动来切换不同的子页面这种布局在Android应用开发中还是经常碰到的。

下面就通过Viewpager来实现这种效果

查看更多

评论

TextView实现圆角矩形背景

简单实现带圆角矩形背景图片的TextView

1.在drawable中放置两张带有圆角的背景图片

一张是正常状态下的背景tv_bg_normal.9.png,另一张是按下时的背景图片tv_bg_pressed.9.png.

查看更多

评论

Android数据库 Sqlite 操作

数据库在Android应用开发中扮演重要的角色,对于一下小型配置数据可以直接用SharedPreference解决,但是如果涉及到大量复杂结构数据的持久化操作,那就离不开Sqlite了


1. 继承SQLiteOpenHelper实现一个子类DBhelper

2. 在类中定义要新建的数据库名、表名以及新建表的sql语句

1
2
3
private static final String DB_NAME="timo.db";
private static final String TBL_NAME="users";
String CREATE_TBL=" create table users(_no integer primary key autoincrement,id text,name text,avatar text,atype txt) ";

查看更多

评论

自定义View-IndexSideBar

在一些联系人以及国家列表中经常会使用侧边栏字母导航来进行快速索引

如何自定义一个侧边栏字母导航(IndexSideBar)哩?

查看更多

评论

SAE笔记

连接数据库

连主库
link=mysql_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS);
连从库
link=mysql_connect(SAE_MYSQL_HOST_S.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS);
if($link)
{
  mysql_select_db(SAE_MYSQL_DB,$link);
  //your code goes here
}

查看更多

评论

Service初探

可以说service能够使应用程序更有”内涵”,而不仅仅是在几个Activity之间来回跳转。service看起来比Activity要复杂一点,其实仔细研究一下还是值得的。

startService方法启动service

实现要素:

1.继承Service实现一个子类MyService,并在AndroidManifest.xml中注册

2.intent.setClass(this,MyService.class);

3.startService(intent);

查看更多

评论

Android-Universal-Image-Loader异步加载图片框架

简单介绍 Android-Universal-Image-Loader 这个框架的配置及使用

项目下载地址:

Android-Universal-Image-Loader

导入universal-image-loader-1.9.1.jar到你的项目

基本配置

查看更多

评论

PopupWindow概要

PopupWindow常用来代替Dialog做一些提示性或供用户选择的操作,在开发中还是经常遇到的。

实现要素

0.继承PopupWindow的一个子类

1.popwindow的布局文件

2.在MainActivity中使用

3.上下出入的动画

查看更多

评论

AndroidListView加载不同布局的思路

使用ListView时,对于不同的数据要使用不用的布局来展示,那如何创建并夹在这些不同的布局呢?

实现要素

1.首先有多个对应不同Item的不同的布局文件

2.在Adapter中构造多个对应的Holder

3.注意在Adapter中要重写以下两个方法

查看更多

评论

Ubuntu 连接Android真机(华为C8813Q)

Android手机连接ubuntu之后,若已在环境变量中配置了adb,直接在终端中输入

adb devices

会显示一串????????
解决方法如下:

查看更多

评论

hp pavilion 15 notebook笔记本 解决RTL8188EE无线网卡问题

笔记本装了Ubuntu12.04之后发现无线网用不了,折腾了好久才搞定 —!
解决方法:

(1):下载驱动文件linux_mac80211_0012.0207.2013.tar.bz2(大小为12799K).

(2):右击压缩包->提取到此处.解压后的目录名称为:rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_001 2.0207.2013 .将该目录复制到root目录下.

(3):打开终端,输入下面的命令:

cd ~/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013

查看更多

评论

res资源的使用

属性资源:attrs.xml

1
2
3
4
5
6
7
<attr name=”属性名字” format=“属性值限定的字符串“>
<定义全局的属性>
</attr>
<declare-styleable name=”组件名称”
<attr name=”属性名字” format=“属性值限定的字符串“/>
< attr name=”全局定义的属性名称”/>
</ declare-styleable >

值得注意的是定义属性 需要定义自己的命名空间 原则上命名空间可以随便取但是 也有一定规则 命名空间必须以http://schemas.android.com/apk/res/ 开头 后面是所要引用的R文件所在的路径 也就是包名 属性值限定的字符串的意思是属性的取值限定的类型 如reference 引用资源id类型 string float 等等 最后要在所要引用该属性的布局文件中加上自己的命名空间

查看更多

评论

bash note

bash命令

  • 命令与文件补全功能: ([tab] 按键的好处)

使用 [tab] 按键的时机依据 [tab] 接在命令后或参数后而有所不同。

[Tab] 接在一串命令的第一个字的后面,则为命令补全;
[Tab] 接在一串命令的第二个字以后时,则为『文件补齐』!

所以说,如果我想要知道我的环境中,所有可以运行的命令有几个? 就直接在 bash 的提示字符后面连续按两次 [tab] 按键就能够显示所有的可运行命令了。
那如果想要知道系统当中所有以 c 为开头的命令呢?就按下 c[tab][tab]就好啦!

查看更多

评论

Android打包应用lint error

Eclipse打包apk时出现的一个小错误…
有时候最终打包应用时会显示如下错误

打包应用错误

解决方法如下:

查看更多

评论

基本概念

环境相关

  1. python

  2. Anaconda

    Anaconda 本质上是一个软件发行版 ,包含了 conda、Python 等 180 多个科学包及其依赖项。

  3. pydot

    pydot是用python实现的绘制graphviz的接口。

  4. graphviz

    Graphviz的是AT&T Labs Research开发的图形绘制工具软件
    如果运行过程中报出 Exception: "dot" not found in path. 则需要安装 graphviz,如果已经安装了Anacoda,直接执行 conda install graphviz

查看更多

评论

sklearn 技巧

1. 模型的保存和读取

使用 joblib 模块。

保存:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from sklearn.datasets import load_iris # iris数据集
from sklearn.model_selection import train_test_split # 分割数据模块
from sklearn.neighbors import KNeighborsClassifier # K最近邻(kNN,k-NearestNeighbor)分类算法
from sklearn.externals import joblib #jbolib模块

iris = load_iris()
X = iris.data
y = iris.target

# 分割数据并
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=4)

# 建立模型
knn = KNeighborsClassifier()

# 训练模型
knn.fit(X_train, y_train)

# 保存模型(注:保存模型所在的文件夹要预先建立,否则会报错)
joblib.dump(knn, '/Users/mac/Downloads/knn.pkl')

读取和使用:

1
2
3
knn = joblib.load('/Users/mac/Downloads/knn.pkl')
print(knn.predict(X_test[0:1]))
# [2]

查看更多

评论

常用的Latex公式

空格直接是

1
\:

查看更多

评论