第一行代码android源码 - CSDN
  • 其实我当初决定开始写博客的想法挺简单的,觉得自己搞技术这么多年...更令我没想到的事,在我开始写博客不久之后,人民邮电出版社图灵公司的副总编辑陈冰老师就联系上了我,希望我可以写本关于Android开发技术的书籍

    书中源码下载地址:http://download.csdn.net/detail/sinyu890807/7747691


    前言


    其实我当初决定开始写博客的想法挺简单的,觉得自己搞技术这么多年了,总应该要留下点什么。既然没能写出什么出色的应用,那至少也要留下点文字分享给大家,以指引在我后面的开发者们,毕竟我也从前辈们的博客那里受惠了很多。


    受邀


    下定决心之后我就开始了我的博客之旅,令我没想到的是,我写的文章竟然非常受大家的欢迎,短时间内就聚集了大量的人气。更令我没想到的事,在我开始写博客不久之后,人民邮电出版社图灵公司的副总编辑陈冰老师就联系上了我,希望我可以写一本关于Android开发技术的书籍!


    陈冰,第一次听到这个名字的时候相信大家和我一样都不会感到熟悉,但是当他告诉我,他之前一手策划过《大话设计模式》这本书时,我立刻冲向了我的书柜并找到它,翻开扉页后赫然就在责任编辑那一栏看到了陈冰的名字,往后翻还可以看到他为《大话设计模式》写的序。这时我的心里只有一个念头,他邀请我写的这本书我是无论如何都拒绝不了了!


    创作


    接下来我就开始构思如何去完成这本书了。创作的过程注定是艰辛的,虽然我已经有了一些写博客的经验,但写书着实还是头一回,而写书又和写博客有着很大的差距。博客的内容可以比较散乱,想到哪里写到哪里,但书的内容一定要系统化,讲究循序渐进,基本上在写第1章的时候就应该把全书的内容都确定下来了。


    正所谓万事开头难,因此我首先是花了大约两个星期的时间制定了这本书的目录,这也就成为了我后面的写作大纲。陈冰告诉我,如果可以把目录制定出来,那么基本上就已经完成80%的工作了,然而事实证明,即使制定出了目录,事情也远远没有想象中的那么简单。我毕竟无法全身心地投入到写书当中,因为每天还要上班工作,有时还要加班,我只能在下班了之后再开始整理自己的思绪,然后动笔。另外,我之前对写书这件事算是严格保密的,并没有在博客上进行过任何透漏,因此我无法因为这个原因而停止更新博客,仍然坚持着每周或两周一篇的节奏。


    就这样在工作、博客和写书之间制衡着,虽然很辛苦,但我并没有落下任何一项。工作依旧相当出色,博客的质量大家有目共睹,而书怎么样大家拿到手之后就知道了。我创作的那段时间大概是保持着每月两章的进度,包括春节假期的那段时间也写个不停,最终在今年的3月份完全终稿,刚好赶上了截稿日期。到这里我的工作就已经基本完成了,后面的任务开始由出版社接手,他们审核、校对、排版、设计封面、印刷,终于在7月份的下旬开始预售了,一年的辛苦即将可以看到成果,我也表示非常期待。


    比较


    叙述完了创作的过程,接下来我们还是看一看这本书吧。这本书叫作《第一行代码——Android》,从名字上就可以看出来,这是一本非常适合初学者的书籍,我特别想写这样的一本书,因为它可以和我的博客相辅相成。由于我写博客的时间比较晚,13年才开始写的,当时很多Android技术相关的内容都已经被人写过了,重复再写一遍别人写过的东西显然太没创意,因此我给自己的博客定了一个主题,那就是只写比较高级的应用技术。可是博客的主题虽然非常鲜明,却明显不太适合初学者的朋友们阅读,从众多的评论当中我也能看出,有不少朋友的基本功还是不够扎实的,如果能结合一本介绍基础的书来巩固基本功,那你就真的变得无懈可击了,因此《第一行代码——Android》应运而生。


    下面我来对博客和书中的内容做个简要的对比吧,让大家心里有个数。

    • 博客更加倾向于介绍Android高级技巧,而书中则是基础、进阶、实用技巧都有。
    • 阅读博客时你需要有相当不错的Android基础,而阅读书时你不需要有任何的Android基础。
    • 博客中的内容相对比较散乱,而书中的内容更加系统化、科学化(这个是必然现象,一个是想到哪儿写到哪儿,一个是精心策划出来的)。
    • 出于对读者的尊重,我不会简单地将博客里的内容复制到书里,而出于对版权的保护,我也不会把书里的内容在博客上发表。因此,书和博客的内容基本不会有交集,这样买书的朋友们不会有种买了本纸质版博客的感觉。


    特色


    当然了,这本书还是有很多独有特色的,不然的话就和市场上的其它书没什么区别了。你不需要有任何Android基础就可以阅读它,但它会带领你一步步深入了解Android的各项功能。其中有不少章节我认为是非常出彩的,比如说第二章对Activity启动模式的讲解非常细致,市场上多数同类书中都没有这部分内容的,第七章对ContentProvider的讲解也相当到位,相信可以满足不少朋友的求知欲望。再比如说大部分章节的最后都会附有一个最佳实践部分,其中很多的技巧都是我日常工作中总结出来的,对你来说一定也很适用。再比如说,书中会对Git的用法进行穿插讲解,并教你如何将代码托管到GitHub,如何将软件上架到Google Play,如何在软件中嵌入广告盈利等等等等,我就不一一举出了,等待你自己去发现。


    另外,为了让这本书读起来不会枯燥,我努力让自己的语言变得幽默,可毕竟在这方面不怎么擅长,做得不够好。但本书中引入的经验值、升级、宝物系统则很好地弥补了这一点,通过不断地阅读,你将会获得经验值、升级,并赢得匪夷所思的宝物,让你在阅读过程体会到更多的乐趣。这个系统是由陈冰写的,如果大家阅读之后对这个系统有什么反馈或建议,可以发送邮件给他(neosaga@126.com)。


    很多朋友私下里有问过我,应该怎样去学习Android才能有所提高,那么今天我可以给出答案了。书和博客结合在一起学习,建议先看书打牢基础,然后再看博客进行进阶,当你把书和博客中的内容都吃透了的时候,那么我会的东西你也就都会了。


    封面


    看到了这里,相信有些朋友已经迫不及待想要购买一本了吧?别着急,我们再来看一下这本书的封面。封面的设计不是由我负责的,但诞生的过程也算是经历了各种曲折。陈冰对封面的要求非常苛刻,既要有深度有含义,又要能吸引眼球,还要给人一种想要翻开的冲动。经过了两个月左右的设计,所谓的“本年度最佳封面终于出炉了”,我们来欣赏一下:




    红色作为亮色系的代表色,使得它可以在众多图书当中脱颖而出,让人一眼就能看见它。


    再来看一下宣传海报的样子:




    怎么样,有没有一种视觉震撼的感觉?!虽然最终的封面夺人眼球,但任何东西都不会是凭空出现的,创作的过程必然有它的艰辛和曲折,《第一行代码——Android》封面诞生记这篇文章中专门讲述了本书封面的诞生过程,感兴趣的朋友可以像看故事一样去了解了解。


    定价


    79元,看到这个价格时我相信很多朋友觉得并不便宜,但实际上这已经是我尽最大可能争取到的价格了。由于书的价格是由出版社根据页数来制定的,我并不能做过多干预。通常情况下五百多页的书都可以定价到八十几、九十几元,最低也不能低于79元,于是我果断申请了最低的价格。


    其实换一种思路来想,79元也不算贵,因为这只是书的原售价,而我们在网上买书的话通常都会打折,基本上也就只需要五十多块钱就可以买到了。另外我觉得买书不用太在意价格,而是应该更在意里面的内容,书的内容只要能够真正给你带来帮助,那么它的价值就是远远大于这几十块钱的(就我自己而言,我大学期间总共大概花了两千多块的生活费用于买书,这些书一直都珍藏在我的书架上,是我永久的财富)。


    购买


    了解了这么多,不知道你有没有下定决心要买一本呢?目前《第一行代码——Android》这本书已经在当当、京东、亚马逊、互动这几个网上书店上架了,有需要的小伙伴们请猛戳下面的地址:


    当当网购买地址

    京东购买地址

    亚马逊购买地址

    互动出版购买地址

    天猫购买地址


    然后


    书的出版算是我的程序之路上一个新的里程碑吧,然而人生的路还很长,未来仍然需要努力向前。因此,我后面还是会一如既往地坚持更新博客,自我提升的同时也分享给大家。因为博客的原因,我结识了很多天南海北的新朋友,感谢众多朋友以及亲人的一路陪伴,愿未来大家都能天天向上。


    书中源码下载地址:http://download.csdn.net/detail/sinyu890807/7747691


    关注我的技术公众号,每天都有优质技术文章推送。关注我的娱乐公众号,工作、学习累了的时候放松一下自己。

    微信扫一扫下方二维码即可关注:

            

    展开全文
  • 第一行代码Android)第二版PDF和源码

    千次阅读 多人点赞 2019-01-22 14:45:46
    这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定...第一行代码(...

    第一行代码(Android)第二版PDF和源码(分享)
    最近在网上发现的《第一行代码安卓》希望能帮助到大家
    已经打好包

    在这呢传送门

    展开全文
  • Android第一行代码源码

    2020-07-29 14:18:15
    Android第一行代码源码--原书所有源代码,目录整齐!!!
  • Android第一行代码源码。注意不是电子书,是全书的源码
  • 第一行代码 android 第二版书中源代码第一行代码 android 第二版书中源代码
  • 【3】3章 软件也要拼脸蛋,UI开发的点点滴滴 【3.1】UIWidgetTest package com.example.uiwidgettest; import android.support.v7.app.ActionBarActivity; import android.app.Activity; import android.app....

    http://www.android-doc.com/index.html


    【3】第3章 软件也要拼脸蛋,UI开发的点点滴滴

    【3.1】UIWidgetTest

    package com.example.uiwidgettest;
    
    import android.support.v7.app.ActionBarActivity;
    import android.app.Activity;
    import android.app.AlertDialog;
    import android.app.ProgressDialog;
    import android.content.DialogInterface;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.ImageView;
    import android.widget.ProgressBar;
    import android.widget.Toast;
    
    
    public class MainActivity extends Activity implements OnClickListener{
    
    	private Button button1;
    	private EditText editText;
    	private ImageView imageView;
    	private ProgressBar progressBar;
    	
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
            button1 = (Button) findViewById(R.id.button);
            editText = (EditText) findViewById(R.id.edit_text);
            imageView = (ImageView) findViewById(R.id.image_view);
            progressBar = (ProgressBar) findViewById(R.id.progress_bar);
            
            button1.setOnClickListener(this);	//实现方式二
    /*        
            //实现方式一 
            button.setOnClickListener(new View.OnClickListener() {
    	        @Override
    	        public void onClick(View v) {
    	        // 在此处添加逻辑
    	        }
            });
    */       
        }
    
        //实现方式二
        public void onClick(View v) 
        {
        	switch (v.getId()) 
        	{
        		case R.id.button:
        			//将输入框的内容显示出来
        			String inputText = editText.getText().toString();
        			Toast.makeText(MainActivity.this, inputText,
        			Toast.LENGTH_SHORT).show();
        			
        			//显示图片
        			imageView.setImageResource(R.drawable.jelly_bean);
        			
    /*    			//显示和隐藏进度圆圈
        			if (progressBar.getVisibility() == View.GONE) 
        			{
        				progressBar.setVisibility(View.VISIBLE);
        			} 
        			else 
        			{
        				progressBar.setVisibility(View.GONE);
        			}
    			
        			//进度条改为长条形
        			int progress = progressBar.getProgress();
        			progress = progress + 10;
        			progressBar.setProgress(progress);
        			
        			//提醒弹出框
        			AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);
        			dialog.setTitle("This is Dialog");
        			dialog.setMessage("Something important.");
        			dialog.setCancelable(false);
        			dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() 
        			{   			
    					@Override
    					public void onClick(DialogInterface dialog, int which) {
    						
    					}
    					});
    					dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
    					@Override
    					public void onClick(DialogInterface dialog, int which) {
    						
    					}
        			});
        			dialog.show();
    */        						
        			//进度条	
        			ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);
        			progressDialog.setTitle("This is ProgressDialog");
        			progressDialog.setMessage("Loading...");
        			progressDialog.setCancelable(true);
        			progressDialog.show();
        			
        						
    	    		break;
    	    	default:
    	    		break;
        	}
        }
    
    }
    

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    	android:layout_width="match_parent"
    	android:layout_height="match_parent"
    	android:orientation="vertical" >
    
        <TextView
            android:id="@+id/text_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:textSize="24sp"
            android:textColor="#00ff00"
            android:text="This is TextView" />
        
        <Button
    		android:id="@+id/button"
    		android:layout_width="match_parent"
    		android:layout_height="wrap_content"
    		android:text="Button" />
    
    	<EditText
    		android:id="@+id/edit_text"
    		android:layout_width="match_parent"
    		android:layout_height="wrap_content" 
    		android:hint="Type something here"
    		android:maxLines="2"
    		/>
    	
    	<ImageView
    		android:id="@+id/image_view"
    		android:layout_width="wrap_content"
    		android:layout_height="wrap_content"
    		android:src="@drawable/ic_launcher"
    		/>
      
    	<ProgressBar
    		android:id="@+id/progress_bar"
    		android:layout_width="match_parent"
    		android:layout_height="wrap_content"
    		style="?android:attr/progressBarStyleHorizontal"
    		android:max="100"
    		/>
        
    </LinearLayout>
    





















































    展开全文
  • 第一行代码 Android 第2版》下载

    千次阅读 2018-11-02 14:08:44
    第一行代码 Android 第2版》 https://pan.baidu.com/s/1B718h7h3601iEe8gIN9oAQ

    《第一行代码 Android 第2版》
    https://pan.baidu.com/s/1B718h7h3601iEe8gIN9oAQ

    展开全文
  • Android第一行代码源码分享

    千次阅读 2016-06-08 01:07:53
    源码介绍:是CSDN博客专家郭霖写的书里面的源码例子,适合新手学习,大家可以订阅guolin大神的博客,目录截图:       本人亲测,例子都可以用(下为CoolWeather源码例子)     源码下载:...
  • 历久而新,我的新书《行代码》已出版!

    万次阅读 多人点赞 2017-07-04 14:48:26
    行代码》中的内容我相信很多人都会非常感兴趣,因为里面确实加入了很多很新的知识。略粗概括一下的话,新增内容就包括有Android Studio、Gradle、Material Design、运行时权限、多窗口模式、RecyclerView、...
  • 最近在学习Android开发,用的是郭大神的第一行代码这本书,怎么说呢,书是很好懂的,写的很明白,非常好的一本书,直接从前往后看就了,但是在跟书学的时候遇到了一些不容易解决的错误,或因版本更新,书上没有写...
  • 这本《行代码》,让大家久等了!

    万次阅读 多人点赞 2020-04-02 10:13:08
    第一行代码——Android》这本书自2014年出版以来,已经过了6个年头了。期间Android系统版本经历了4.0到10.0系统的巨大升级,开发技术也发生了翻天覆地的变化。在2016年的时候,我曾对书中的内容进行了大幅度的更新...
  • PDF&源码
  • 笔者前言最近在读郭霖大神的行代码,借助行代码,在这里我认真梳理Android知识,为了形成自己的知识体系。坚持写系列关于行代码的学习笔记,是来提升自己的学习能力,坚持每天学习; 二是给自己整理...
  • Android系统架构与系统源码目录

    万次阅读 多人点赞 2017-12-31 05:41:12
    在这本书的最后章我会分析Android底层源码,但是毕竟是Android应用开发的书,对于底层源码阅读也只能带大家入个门。因此,在博客中我会新开个“系统源码解析”的系列,该系列的开篇就是本篇文章。
  • 使用AndroidStudio查看并调试Android源码

    万次阅读 多人点赞 2018-11-04 19:08:42
    使用AndroidStudio查看并调试Android源码使用AndroidStudio查看并调试Android源码0.基础环境1. 操作系统2. Java3. Android源码1. 编译源码初始化编译环境AndroidP的终端检查源码AndroidO的终端检查源码选择编译目标...
  • 第一行代码 第二版pdf及源码(分享)

    万次阅读 多人点赞 2018-12-19 23:21:26
    这里写链接内容
  • Android源码解析系列

    万次阅读 多人点赞 2016-07-24 10:55:20
    知乎上看了篇非常不错的博文:有没有必要阅读ANDROID源码 看完之后痛定思过,平时所学往往是知其然然不知其所以然,所以为了更好的深入android体系,决定学习android framework层源码。这篇文章就是源码学习的汇总...
  • 如何快速阅读并分析Android源码

    千次阅读 2019-04-11 11:09:21
    很多时候为了解决个问题必须先理解Android系统的运行原理,这...那么,如何阅读并分析Android源码呢? 这里我只讲一些初级的、基础的方法,很快就可以上手,不需要下载和编译系统源码。 我们下载Android SDK的时...
  • 八个Android项目源码

    万次阅读 多人点赞 2017-05-24 16:52:00
    给大家分享几个Android开发项目源码,大部分功能相信可以在实战项目中直接使用,供大家下载学习,大部分项目是基于 Android Studio开发,IDE为Eclipse的童鞋可通过网上教程自行转换,这里就不多说了。有句话说,不贴...
  • Android 系统源码——下载到编译

    万次阅读 2020-07-07 10:50:05
    一直想下载、编译、调试一下Android源码 ,加强对一些framework的理解,搞了好多次,终于可以正常调试了。这里进行一些总结和分享。 Android源码到模拟器运行,主要有的四个步骤: 下载源码 搭建编译环境 准备...
1 2 3 4 5 ... 20
收藏数 146,907
精华内容 58,762
热门标签
关键字:

第一行代码android源码