安卓demo,新手开发教程之开发备忘录

这篇教程适合安卓新手,详细介绍了如何使用Android Studio创建并运行第一个备忘录应用。步骤包括添加Apache Commons IO依赖,创建MainActivity.java和activity_main.xml文件,以及在AVD或真机上部署应用。通过完成应用,用户将能实现查看、添加和删除备忘录数据的功能。

动手制作第一个安卓应用:

使用工具:android studio 

需要的资源包:!!!提示,FileUtils在一个名为Apache Commons IO的库中,所以需要在我们的应用/构建中添加它作为依赖项

附上链接地址:Commons IO – Commons IO Overview

添加依赖:(稍后会讲解)

dependencies {
    compile 'commons-io:commons-io:2.4'
}

做好的成品图为如图所示:

备忘录的要点:

1.查看现有项目的列表

2.加入一条数据

3.移除一条数据(或者多条)

对于这个APP目前只使用一个单独的界面,意味着只有一个单独的Activity

开始部署第一个安卓应用APP把!(*^▽^*)

首先:打开我们安装好的Android Studio

 选择创建一个应用

选择平台和版本号

稍微等一会儿就可以看到已经自动生成了MainActivity.javaactivity_main.xml

 点击运行APP的按钮

 在这步骤之前,首先我来介绍一下android应用的两种运行方式

1.android studio 自带的AVD (虚拟器)上运行,运行结果可以直接在电脑上查看

2.使用真机调试,就是拿自己所拥有的真实存在的手机进行应用的调试,可以无线调试,也可进行有线调试,但不管是【无线还是有线】,最开始都需要电脑能够连接设备,使用USB线连接

下面我们来重点介绍【AVD】安卓虚拟器运行APP.....;. 

按照如图所示操作:

  

可以看到上图所示的+Create Virtual Device..

点击确定,选择一款合适手机虚拟器运行即可

然后步入正题:

MainActivity.java 代码块

 ArrayList<String> items;
    ArrayAdapter<String> itemsAdapter;
    ListView lvItems;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //获取列表的属性ID
        lvItems = (ListView) findViewById(R.id.lvItems);

        items = new ArrayList<String>();

        readItems();
        setupListViewListener();
        itemsAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,items);
        lvItems.setAdapter(itemsAdapter);

      /*  String content = "I'm a " + " big.com";
        String pattern = ".*big.*";

        boolean isMatch = Pattern.matches(pattern,content);
        System.out.println(content + "    " +isMatch + "\\\\" + "0202"+"\\("+"0202"+"\n"+"");*/
    }

    //在每次运行时都读取文档内容
    private void readItems(){
        File filesDir = getFilesDir();
        File todoFile = new File(filesDir,"todo.txt");
        try{
            items = new ArrayList<String>(FileUtils.readLines(todoFile,"UTF-8"));
        }catch(IOException e){
            items = new ArrayList<String>();
            e.printStackTrace();
        }
    }

    //长按点击事件,长按可以删除该长按内容的内容
    private void setupListViewListener(){
        lvItems.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
            @Override
            public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
                items.remove(position);
                itemsAdapter.notifyDataSetChanged();
                saveItems();
                return true;
            }
        });
    }

    //保存每次输入的文件的内容
    private void saveItems(){
        File filesDir = getFilesDir();
        File todoFile = new File(filesDir,"todo.txt");
        try{
           FileUtils.writeLines(todoFile,items);
        }catch(IOException e){
            e.printStackTrace();
        }
    }

    //button的点击事件,每次按下按钮可以增加备忘录的内容
    public void addTodoItem(View v){
        EditText etNewItem = (EditText)findViewById(R.id.edNewItem);
        itemsAdapter.add(etNewItem.getText().toString());
        etNewItem.setText("");
        saveItems();
    }

 下面是activity_main.xml的代码片段

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <ListView
        android:id="@+id/lvItems"
        android:layout_width="409dp"
        android:layout_height="600dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true">
    </ListView>


        <EditText
            android:id="@+id/edNewItem"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/lvItems"
            android:layout_alignLeft="@id/lvItems"
            android:ems="12"
            android:inputType="textPersonName"
            android:layout_marginTop="8dp"
            android:hint="@string/plain_text" />
        <Button
            android:id="@+id/btnAddItem"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="addTodoItem"
            android:layout_alignBaseline="@+id/edNewItem"
            android:layout_alignBottom="@+id/edNewItem"
            android:layout_alignRight="@+id/lvItems"
            android:text="Button" />

</RelativeLayout>

好了,结果看成品:

安卓备忘录应用

最后附件地址如下:

GitHub - ZkingSophia/MyAppAndroid: todo 备忘录应用APP

简明、完整、全面的安卓开发demo集合,包含如下示例 1、LinearLayout Button、RadioGroup、 CheckBox 2、TableLayout 3、FrameLayout 霓虹灯效果 4、RelativeLayout 梅花效果 5、自定义view跟着触点走的小球 6、 ListView 列表视图 7、WebView web视图 8、ToggleButton 动态布局效果 9、AnalogClock 、 DigitalClock and Chronometer 时钟和数字日期 10、AutoCompleteTextView 根据输入自动补充可能的全部 11、Spinner View 选择框(弹出框形式选择) 12、DatePicker TimePicker View 日期时间选择器 13、ProgressBar View 普通进度条、显示在标题栏上的进度条 14、RatingBar View 评级 15、 SeekBar 拖动条,音量调节效果 16、ScrollView 、HorizontalScrollView 垂直和水平滚动条 17、ScrollView 、HorizontalScrollView 垂直和水平滚动条 18、ExpandableListView 分组可展开收缩的ListView 19、Notification 状态栏通知 20、GridView、ImageSwitcher 21、SmsManager 消息管理器,发短信(这里是模拟器只能给其它模拟器发短信) 22、Intent Action、Category属性 测试 23、系统 Action、Category属性 24、ClipDrawable 徐徐展开的风景 25、AnimationDrawable 会动的图片 26、Menu、SubMenu、ContextMenu xml配置menu 27、Attribute 自定义view的duration属性 控制图片的透明度 28、Bitmap、BitmapFactory 图形与图像处理 29、Canvas 绘制自定义图形 30、Canvas 采用双缓存实现画图板 31、SharedPreference 简单的key-value数据存取 32、SQLiteDatabase 安卓客户端的嵌入式数据库 33、GestureDetector + ViewFlipper实现翻页效果 34、GestureLiberay 自定义手势 35、GestureLiberay 通过自定义的手势实现用户操作 36、TextToSpeech 语音朗读 37、ContentProvider、ContentResolver 应用之间共享数据 38、 Service 相当于没有界面的activity 39、Activity与Service运行中通信 40、Service 相当于没有界面的activity 41、AIDL Service android中的跨进程调用 客户端,服务端见AidlService 42、BroadcastReceiver 接收广播消息 43、非UI线程中不能操作UI线程中的View测试 44、ImageSwitcher animation gesture实现可以滑动的跑马灯 45、下载状态栏显示下载进度 46、Gallery3d效果 47、ListView 上拉加载更多效果 48、异步加载图片的二级缓存技术 49、QQ的好友列表展示效果 50、Fragment + ViewPager实现tab滑动切换 51、能够显示在桌面前面的的歌词效果 52、activity切换特效
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值