《Android进阶之光》勘误

1059158635_副本_副本.jpg
感谢提供勘误信息的读者,正是有了你们,《Android进阶之光》才会变得越来越好。
注:小括号中的3印代表第3次印刷会修改的内容,依此类推。没有标注的就是首印和第2次印刷需要修改的内容。
目前最新版次:2017年12月 第4印。

统一修改

  • (3印)所有的Adaper修改为:Adapter。
  • 所有的scollBy修改为:scrollBy,所有的scollTo修改为:scrollTo。

第一章

  • 5页,第3、4行,RecyclerView布局添加了无效的属性,去掉第3、4行。
android:divider="#FFB900"
android:dividerHeight="1dp"
  • 8页,第15、16行,RecyclerView没有被应用到,去掉第15、16行。
android.support.v7.widget.RecyclerView v=new android.support.
v7.widget.RecyclerView(parent.getContext());
  • 8页(4印),倒数8行,mDivider.getIntrinsicHeight() 改为:mDivider.getIntrinsicWidth() 。
  • 9页,第10行,“getItemOffsets方法则用于设置item分割线的size。”改为:getItemOffsets方法则用于设置item的padding属性。
  • 10页 (5印)中间的段落会效率太低,应该把监听事件注册放入onCreateViewHolder方法中,改为如下代码:
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
View view=LayoutInflater.from(
mContext).inflate(R.layout.item_recycler, parent,
false);
MyViewHolder holder = new MyViewHolder(view);
view.setOnClickListener(this);
view.setOnLongClickListener(this);
return holder;
}
@Override
public void onBindViewHolder(final MyViewHolder holder, final int position)
{
holder.itemView.setTag(position);
holder.tv.setText(mList.get(position));
}
@Override
public void onClick(View view) {
if (mOnItemClickListener != null) {
mOnItemClickListener.onItemClick(view,(int)view.getTag());
}
}
@Override
public boolean onLongClick(View view) {
if (mOnItemClickListener != null) {
mOnItemClickListener.onItemLongClick(view,(int)view.getTag());
}
return true;
}
  • 23页(4印),第1行,selectNotofovatiomLevel改为:selectNotificationLevel。
  • 26页,倒数11行,去掉app:actionProviderClass=”android.support.v7.widget.ShareActionProvider”。

第二章

  • 78页,第4行,mageView 改为: ImageView。
  • 81页,第2行,CoordinatorLayou 改为: CoordinatorLayout。

第三章

  • 118页,第9行,result=super.onTouchEvent(ev) 改为: result=onTouchEvent(ev)。
  • 121页(4印),标题 ViewRootImpl的PerformTraveals方法 改为:ViewRootImpl的PerformTraversals方法
  • 124页,第9行,wrap_comtent改为:wrap_content。
  • 143页(3印),倒数第6行;147页倒数第8行,改为:
canvas.drawRect(0 + paddingLeft, 0 + paddingTop, width + paddingLeft, height + paddingTop, mPaint);

第四章

  • 152页,第7行LineraLayout改为:LinearLayout。
  • 166页(3印),倒数第2行,“如果使用单个进程”改为:“如果使用单个线程”。倒数第5行,“把这个耗时的线程分配到一个单独的线程中去执行”改为:“把这个耗时的操作分配到一个单独的线程中去执行”。
  • 167页(3印),图 4-3 Object.join改为:Thread.join。
  • 170页(5印),倒数第二行,Thread.currentThread.interruupted(); 改为:Thread.currentThread.interrupt();
  • 199页(5印),最后一行,Futrue,改为:Future。

第五章

  • 222页(3印),倒数第4行,ImageLoader.ImageListener listener = ImageLoader.getImageListener改为:

    ImageLoader.ImageListener listener = ImageLoader.getImageListener(iv_image, R.drawable.ico_default, R.drawable.ico_default);
  • 223页(3印),第10行,android:id=”@+id/nv_image”;改为:android:id=”@+id/iv_image”

  • 238页,第6行,private static OkHttpEngine mInstance;改为:private static volatile OkHttpEngine singleton;
    (3印)第2行, public abstract void onResponse(Response response) throws IOException;改为:public abstract void onResponse(String str) throws IOException;

  • 239页(3印)第12行 onResponse方法和sendSuccessCallback方法改为如下:

    @Override
    public void onResponse(Call call, Response response) throws IOException {
    sendSuccessCallback(response.body().string(), callback);
    }
    private void sendSuccessCallback(final String str, final ResultCallback callback) {
    mHandler.post(new Runnable() {
    @Override
    public void run() {
    if (callback != null) {
    try {
    callback.onResponse(str);
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }
    });
    }
  • 240页(3印),onResponse方法改为:

    @Override
    public void onResponse(String str) throws IOException{
    Log.d(TAG, str);
    Toast.makeText(getApplicationContext(), "请求成功", Toast.LENGTH_SHORT).show();
    }
  • 254页,第11行,“返回值大于0则是空闲连接,否则就是活跃连接。”改为:“返回值大于0则是活跃连接,否则就是空闲连接。”

第六章

  • 275页(3印),倒数第5行,倒数第16行,singleton改为:instance。倒数第2行,getSingleton方法 改为:getInstance方法。
  • 283页、284页(5印),所有Direcror、mDirecror改为:Director、mDirector。

第八章

  • 333页(4印),第9行,Goodle改为:Google。
  • 334页(4印),第8行,Suject改为:Subject。
  • 339页,倒数第6行,“第二个参数为終值,左闭右开。” 改为:“第二个参数为整数序列的个数。”
  • 343页,(5印)倒数第15行,goupBy改为:groupBy。

第九章

  • 388页,最后1行,去掉最后的“;”
  • 402页:第7行,“接下来我们回到precess方法,我们从上面也知道了第400页注释1处的findAndParseTargets方法主要用于查找和解析注解。” 这句话表达不清楚,改为:“接下来回到第400页的process方法,我们已经知道了注释1处的findAndParseTargets方法主要用于查找和解析注解 。”

第十章

  • 423页(4印),第6行,MVVP改为:MVVM。
  • 442页(5印),倒数第12行,type=”Swordsman” 改为:type=”man”
  • 466页、467页,多处Source Insights改为:Source Insight。
刘望舒 wechat
我的新书《Android进阶之光》热卖中,更多高质量的Android相关技术干货尽在公众号「刘望舒」。
0%
友情链接:万达登录  万达娱乐平台  万达娱乐直属QQ  guoqibee.com  万达娱乐注册  万达娱乐  万达开户  测试  万达主管QQ