William的小星球 
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  •     

Ubuntu下android-studio同步踩坑

Ubuntu下android studio同步踩坑1. 安装shadowsocks : https://blog.csdn.net/A807296772/article/details/801128712. shadowsocks配置 打开客户端 根据购买的账号和密码和服务器地址配置: 注意,本地服务器类型不能选择socks5,而是选择第二个HTTP(S),否则android studio的gradle无法走代理。 3. 配置本地代理 不要配成socks主机,就配HTTP代理和HTTPS代理。 4. 配置Android studio代理 完成。折腾了接近半天。
 2018-09-03   操作系统   

ubuntu--下的android-studio的真机调试

ubuntu 下的android studio的真机调试 直接连真机一般都是连不上adb的。 1. 找出真机的硬件id# 列出当前链接的设备 $ lsusb Bus 002 Device 002: ID 8087:8000 Intel Corp. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 8087:8008 Intel Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 2018-09-02   操作系统   

requestLayout()引起的问题

requestLayout()引起的问题 网上有大量写的很深入的requestLayout()源码分析的文章。故这里不再写了,只做一个实际情况下遇到的问题的分析。 起因: 自定义了一个CircleImageView,功能是调用setImage(Bitmap bitmap)后可以将图片以圆形加载。 本以为直接在setImage(Bitmap)的结尾直接调用requestLayout()即可。 这里从两个方面写: xml中定义为wrap_content当LayoutParams是wrap_content时,我处理的逻辑是:在onMeasure()中根据宽高的MeasureSpec是否等于Meas
 2018-08-31   View   

Tue Aug 21 2018 00:00:00 GMT+0000 (Coordinated Universal Time)

git push失败时: git fetch git rebase origin/XXX git pushgit要压缩历史 git merge -squash <name> 或者 git rebase -i HEAD~n撤销工作区某个文件的改动 git checkout -- 文件名撤销工作区所有文件的改动 git checkout . //当暂存区为空,回到当前的版本快照。暂存区不为空,回到上个暂存区。
 2018-08-21   git   

Integer++

Integer++ 在写一个线程同步的demo的时候,想用Integer作为对象传入各个Runnable中作为flag,自增,然后发现失败,探究原因后记录如下: public class Main { public static void main(String[] args) { Integer i = 10; Integer j = i++; System.out.println(i == j); } } 输出:false 原因: Integer中表示值的变量value本身就是一个final类型的,即不可变类型,不可重新赋值
 2018-08-18   Java   

ThreadLocal

ThreadLocal ThreadLocal是一个线程独立存储类,通过他的get和set方法,在不同的线程中,可以独立地存取不同的value。 每次回顾Looper源码的时候,都会忘了ThreadLocal是如何实现和工作的,故这次记录下来。 [TOC] 工作原理图 ThreadLocal中的ThreadLocalMap 首先观察ThreadLocal的结构,有两个静态内部类,其中第二个ThreadLocalMap是他工作原理的最重要的类。 此时点开Thread类源码: /* ThreadLocal values pertaining to this thread. This map is
 2018-08-16   Java   

查看Android设备已安装的apk的versionCode

查看Android设备已安装的apk的versionCode1. 确认连接$ adb devices 2. 输出设备所有已安装的apk$ adb shell list packages 3. 找到目标apk名字,输出对应信息,找到versionCode即可。$ adb shell dumpsys package com.aaa.bbb
 2018-08-11   Android   

AppCompatActivity和Fragment如何通过Lifecycle将生命周期状态转发出去

关于android的Lifecycle是什么和怎么用就不说了,这篇写的很好了: Android官方架构组件:Lifecycle详解&原理分析 概述 概述:Lifecycle方案其实就是把AppCompatActivity和Fragment(support包下的)的声名周期回调转发出去,本质上是基于一个观察者模式,将观察者注册到有生命周期的组件,然后有生命周期的组件在他们的生命周期回调时,把事件转发给每一个观察者,这样观察者就收到了AppCompatActivity或Fragment的生命周期回调,也就具有了生命周期感知能力。 需要了解: Lifecycle是什么和怎么用 创建一个
 2018-08-10   Android   

Service是单例

stackoverflow上的3个问题解答了我的疑惑:Android: When to use Service vs Singleton?Android service isn’t working as a singletonDoes startService() create a new Service instance or using the existing one? 结论: 当多次startService去启动Service,若Service对象存在,就只调用onStartCommand,若Service对象不存在,创建Service对象。 服务时天然的单例模式,且可以被销毁。
 2018-08-09   Android   

获取Activity的布局文件的root-view

两种方式 在xml文件中的root view上设置id,然后findViewByid(String resId)即可。 不用设置id,直接在代码里获取:ViewGroup contentView= (ViewGroup) ((ViewGroup) findViewById(android.R.id.content)).getChildAt(0); contentView即为所求 这是从DecorView开始的view tree,debug得到的。
 2018-08-09   View   
1…56789…21

搜索

Hexo Fluid