AndroidStudio获取SHAI码
打开Terminal输入如下:keytool -list -v -keystore D:\签名\AI.jks后面的这个部分:D:\签名\AI.jks,是密钥文件所存放的路径。
按下回车
输入密钥,回车,出结果:
D:\AndroidProject\MyTest>keytool -list -v -keystore D:\签名\AI.jks
输入密钥库口令:
密钥库类型: JKS
密钥库提供方: SUN
您的密钥库包含 1 个条目
别名: key0
创建日期: 2017-8-4
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=William
2018-02-28
Android
GreenDao-2-0初始化方法
因为我以前都是用3.0的注解来生成Entity实体类的, 没有用过2.0用代码操作的方式,所以记录一下。
官网图如上:第一点:在你的generator类里面添加依赖。那么打开AS,新建一个Module,类型为Java Library.
在Module的gradle中复制粘贴依赖
看官网的第三点:在app中添加依赖:
写一个类用来生成GreenDao。
public class ExampleDaoGenerator {
private static final String packageName="GreenDao";
private static
2018-02-28
Android
Annotation总结
这篇总结的内容是我自己昨天我晚上写的一部分,因为我第二天在简书上面看到了一篇和我内容相似的,估计出处也是《疯狂java讲义》,所以剩下的内容在这里面看就可以了:
zlcook的文章 : Java:Annotation(注解)–原理到案例
java基本的5种Annotation
@Overrided:只作用于方法,标识该方法是覆盖父类的方法
@Deprecated: 作用于方法,类,接口。表示某个程序元素已过时
@SpressWarnings:被该Annotation修饰的程序元素以及其中的所有子元素将取消显示指定的编译器警告。比如:@SuppressWarnings(value=”unchec
2018-02-24
Java
策略模式
定义:策略模式定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。
我自己的理解:一个对象的功能应该由组合得来,而非继承得来。在此,组合和继承的意思分别是:
组合:指的是接口的组合,不同的功能应该对应不同的接口,在父类中声名,由多态来控制灵活性。
继承:指的就是由父类固定死的方法继承下来,不具有灵活性。
例子:比方说我现在创建一个类叫Duck,那么鸭子对象肯定有固定的功能比如:游泳,吃。
//固定不变的部分写在父类中继承下去,实现代码复用
protected void swim(){}
protected abstract void display(
2018-02-14
java设计模式
Android,Mvp模式学习
title: Mvp项目学习:
今天用我们用MVP模式来完成一个简单的登录界面的实现。业务需求:
用户输入用户名和密码之后,按下登录按钮,跳转到另一个Activity。
这里面隐含的一些含义有:检查用户名和密码(网络访问)
点击登录按钮,对网络返回结果判断并处理(设置监听器)
由于我们这里是简化版本的,所以不写网络访问的代码,用一个延时的handler来模拟就行了。
MVP模式的思路是:
创建Model接口,View接口,Presenter接口。
View接口:根据业务或者UI设计师给的图片来定制我们的View接口中应该有哪些方法,比如显示进度条,跳转界面,只要用户能操作的或者用户
2018-02-09
java设计模式
再次理解回调的含义
哪个类实现了回调监听接口中的方法,就回去调用哪个类中的对应的方法。主函数中调用HttpUtils的get方法,第二个参数传入View的实例,那么当get方法内部执行到listener调用方法的地方的时候,就会去回调View中的方法。这就是回调方法例子:
//回调接口
public interface Listener {
void onSucceed(String info);
void onFailed(String info);
}
//模仿网络访问类
public class HttpUtils {
//参数是url和对应的监听器
public void
2018-02-09
Android