android高级编程学习笔记-ToDoList第一版

1、 用真机测试apk:

1. 设置手机,勾选USB调试:

各手机设置方法不一样,魅族mx2在设置-->辅助功能-->开发人员工具-->USB调试,将开关打开。

2、安装驱动:

这步折腾了比较久,都没找到能用的驱动,最后发现了个比较简单的办法:在PC端安装个豌豆荚,当手机连接到电脑后,豌豆荚会自动匹配驱动安装,

待安装完后再卸载了豌豆荚。

(可用adb devices查看设备列表,若驱动安装成功,则能看到设备)

3、设置工程的运行配置:

在工程中单击鼠标右键,依次选择选择: Run As-->Run Configurations-->Target-->Launch on all compatible devices/AVD's


2.  activity_main.xml和fragment_main.xml怎么关联到代码中:

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(<span style="color:#ff0000;">R.layout.activity_main</span>);

        if (savedInstanceState == null) {
            getFragmentManager().beginTransaction()
                    .add(R.id.container, <span style="color:#FF0000;">new PlaceholderFragment()</span>)
                    .commit();
        }
    }
 public static class PlaceholderFragment extends Fragment {

        public PlaceholderFragment() {
        }

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            View rootView = inflater.inflate(<span style="color:#ff0000;">R.layout.fragment_main</span>, container, false);
            return rootView;
        }
    }


3. ToDoList示例:

  1.  按默认步骤创建一个名为ToDoList的Android Application Project工程;

2.  更改fragment_main.xml的布局方式为LinearLayout:

1. 打开fragmen_main.xml(Graphical Layout);

2. 在RelativeLayout上单击右键,选择Change Layout,将布局改为LinearLayout(Veritical);


3.  在fragment_main.xml中添加一个EditText和一个ListView,代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.todolist.MainActivity$PlaceholderFragment" >
    
   	<span style="color:#ff0000;"><EditText 
       	android:id="@+id/myEditText"
       	android:layout_width="match_parent"
   		android:layout_height="wrap_content"
   		android:hint="@string/addItemHint"/>

   	<ListView
       	android:id="@+id/myListView"
       	android:layout_width="match_parent"
       	android:layout_height="wrap_content"/></span>
</LinearLayout>
4. 在strings.xml中添加有名为addItemHint的String类型:

<span style="white-space:pre">	</span><span style="color:#ff0000;"><string name="addItemHint">New To Do Item</string></span>
5. 在MainActivity.java中添加如下代码:

public static class PlaceholderFragment extends Fragment {

        public PlaceholderFragment() {
        }

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.fragment_main, container, false);
            
            <span style="color:#ff0000;">ListView myListView = (ListView)rootView.findViewById(R.id.myListView);
            final EditText myEditText = (EditText)rootView.findViewById(R.id.myEditText);
            final ArrayList<String> todoItems = new ArrayList<String>();
            final ArrayAdapter<String> aa;
            aa = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, todoItems);
            myListView.setAdapter(aa);
            myEditText.setOnKeyListener(new View.OnKeyListener() {
				
				@Override
				public boolean onKey(View v, int keyCode, KeyEvent event) {
					// TODO Auto-generated method stub
					if (event.getAction() == KeyEvent.ACTION_DOWN)
					{
						if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER ||
								keyCode == KeyEvent.KEYCODE_ENTER)
						{
							todoItems.add(0, myEditText.getText().toString());
							aa.notifyDataSetChanged();
							myEditText.setText("");
							return true;
						}
					}
					return false;
				}
			});</span>
            
            return rootView;
        }
注意这段代码的添加位置,是在PlaceholderFragment对象中。

6. apk完成,可将apk下载手机进行调试。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go微服务开发是利用Go语言进行微服务架构的开发方式。在这个问题中,使用了gin、grpc和etcd进行重构grpc-todolist项目。 Gin是一个轻量级的Web框架,使用它可以快速构建高性能的Web应用程序。它具有简单易用、性能出色和灵活的特点。在微服务开发中,Gin可以作为HTTP服务器框架,处理和响应客户端的HTTP请求。 gRPC是一种高性能、开源的远程过程调用(RPC)框架。它支持多种编程语言,并使用带有协议缓冲区的Google Protocol Buffers进行数据交换。在微服务架构中,gRPC可以用于服务之间的通信,通过定义接口和消息格式,实现服务间的数据传输和调用。 Etcd是一个高可靠、分布式的键值存储系统。它使用Raft一致性算法来保证数据的可靠性和一致性。在微服务开发中,Etcd可以作为服务发现和配置管理的工具,用于注册和发现各个微服务的信息。 对于重构grpc-todolist项目来说,使用gin可以将原有的HTTP接口改写为更加高性能的接口,提高整个系统的性能。通过使用gRPC,可以将原有的接口定义为gRPC接口,实现服务间的高效通信,并且易于扩展和维护。同时,借助Etcd实现服务注册和发现,提高系统的可用性和灵活性。 总而言之,通过使用gin、grpc和etcd对grpc-todolist项目进行重构,可以提高系统性能、扩展性和可维护性。这种微服务开发方式能够更好地适应大规模分布式系统的需求,使得系统更加稳定和可靠。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值