为了账号安全,请及时绑定邮箱和手机立即绑定

Android攻城狮的第二门课(第1季)

难度入门
时长 5小时 0分
学习人数
综合评分9.43
320人评价 查看评价
9.8 内容实用
9.4 简洁易懂
9.1 逻辑清晰
  • <-转-> 这节课的思路是现有一个MainActivity(主界面),它对应的布局是Main.xml(RadioGroup,RadioButton). 之后老师创建了一个MainActivity2(静态加载Fragment的界面),它对应的布局文件是Main2.xml(这个布局里添加了一个Fragment标签->静态加载),并在这个xml文件中为Fragment标签定义了:name="MyFragment"属性,这个属性对应了Fragment标签对应的类--->这个MyFragment.java(继承Fragment),并重写onCreatView().并为这个类声明(创建)了一个布局文件(fragment.xml)。并添加了一个TextView和Button.通过inflater.inflate()将布局文件添加到这个MyFragment中。---->回到MainActivity2通过setContextView()将main2.xml加载。 最后回到MainActivity.java为第一个RadioButton添加点击事件(通过intent意图,跳转到MainActivity2). 老师在MainActivity2中直接通过findViewById();将fragment.xml文件中的Button加载,这是因为通过层层加载,这个button已经存在于main2.xml中了。 最后在清单文件中添加MainActivity2,并在main2.xml中为Fragment标签添加一个id
    查看全部
  • @Android Manifest.xml配置文件介绍——自定义权限 一、作用 1、为某个页面申请一个安全权限,防止其他程序对其进行访问 二、方法 1、在需要申请页面的配置文件中,在全局配置<permission android:name="xxx,xxx,xxx" android:protectionLevel="normal/dangerous等" />,然后在<activity>标签里进行使用<activity android:permission="xxx,xxx,xxx" ...> 2、若其他程序要访问被自定义权限保护的页面,需要在自己的配置文件里申请权限,使用<uses-permission android:name="xxx,xxx,xxx"/> 才能访问!
    查看全部
    8 采集 收起 来源:自定义权限

    2018-03-22

  • (SimpleAdapter)数据适配器的实现过程: 1.新建适配器 simp_adapter=new SimpleAdapter<String>(context,data,resource,from,to); context:上下文(this) data:有特定泛型的集合数据源--一个Map所组成的List集合 (新建自定义List<Map<String,Object>> dataList并通过方法返回在此处---详见笔记附录1) <每一个Map都会去对应列表中的一行 每一个Map中的键必须包含所有在from中所指定的键> resource:列表项的布局文件(自定义布局) from:记录Map中的键名(new String[]{布局文件的name}) to:绑定数据视图中的ID,与from成对应关系(new int[]{布局文件中ID}) 2.添加数据源到适配器(上一步已包含) 3.视图(ListView)加载适配器 listView.setAdapter(simp_adapter); 笔记附录: 1.返回List的方法 private List<Map<String,Object>> getData(){ for(int i=0;i<20;i++) { Map<String,Object>map=new HashMap<String,Object>(); map.put("pic",R.drawable.ic_launcher); map.put("text","慕课网"+i); dataList.add(map); } return dataList; }
    查看全部
    8 采集 收起 来源:使用SimpleAdapter

    2018-03-22

  • Fragment 生命周期: 1.onAttach():当Fragment被添加到Activity时候会回调这个方法,并且只调用一次 2.onCreat():创建Fragment时被回调,并且只调用一次 3.onCreatView():每次创建都会绘制Fragment的View组件时调用该方法 4.onActivityCreated():当Fragment所在的Activity启动完成后调用这个方法 5.onStart():恢复Fragment时会被回调,调用onStart()方法后面一定会调用onResume()方法 6.onPause():暂停Fragment 7.onStop():停止Fragment
    查看全部
  • 这节课的思路是现有一个MainActivity(主界面),它对应的布局是Main.xml(RadioGroup,RadioButton). 之后老师创建了一个MainActivity2(静态加载Fragment的界面),它对应的布局文件是Main2.xml(这个布局里添加了一个Fragment标签->静态加载),并在这个xml文件中为Fragment标签定义了:name="MyFragment"属性,这个属性对应了Fragment标签对应的类--->这个MyFragment.java(继承Fragment),并重写onCreatView().并为这个类声明(创建)了一个布局文件(fragment.xml)。并添加了一个TextView和Button.通过inflater.inflate()将布局文件添加到这个MyFragment中。---->回到MainActivity2通过setContextView()将main2.xml加载。 最后回到MainActivity.java为第一个RadioButton添加点击事件(通过intent意图,跳转到MainActivity2). 老师在MainActivity2中直接通过findViewById();将fragment.xml文件中的Button加载,这是因为通过层层加载,这个button已经存在于main2.xml中了。 最后在清单文件中添加MainActivity2,并在main2.xml中为Fragment标签添加一个id。
    查看全部
  • (ArrayAdapter)数据适配器的实现过程: 1.新建适配器 arr_adapter=new ArrayAdapter<String>(上下文(this),当前ListView加载的每一个列表项所对应的布局文件(android.R.layout.simple_list_item_1),数据源(String[]arr_data={"1","2","3","4"})); 2.添加数据源到适配器(上一步已包含) 3.视图(ListView)加载适配器 listView.setAdapter(arr_adapter);
    查看全部
    6 采集 收起 来源:使用ArrayAdapter

    2018-03-22

  • 处理fragment事物 动态加载fragment MyFragment2 fragment2=new MyFragment2();//new出一个fragment对象 FragmentManager fragmentManager=getFragmentManager();//得到fragment管理者 FragmentTransaction beginTransaction=fragmentManager.beginTransaction();//开始一个事物 beginTransaction.add(R.id.fragment, fragment2);//fragment事物添加一个fragment, //R.id.fragment为fragment显示的位置id,fragment2为需要添加的fragment; beginTransaction.addToBackStack(null); //增加回退效果,手机物理返回按键可以回退到上一个界面而不是直接退出 beginTransaction.commit();//最后提交
    查看全部
  • .Fragment与Activity的关系:房间与房间所在的房子之间的关系。 2.onCreateView()方法:Fragment第一次绘制它的用户界面的时候,系统会调用此方法,为了绘制Fragment的UI,此方法必须返回一个View,如果不显示UI,返回null即可 3.静态加载:在Activity的layout文件中声明Fragment,需要特别注意的是<fragment>中的android:name属性指定了在layout中实例化的Fragment类。标识Fragment的方法:android:id属性提供一个唯一 ID;android:tag属性提供一个唯一字符串 4.onCreatView()方法参数: resource:Fragment需要加载的布局文件 root:加载layout的父ViewGroup attactToRoot:false,不返回ViewGroup [ 收起全文 ]
    查看全部
  • Layout总结 1. include用法 <include android:id="@+id/include1" layout="@layout/commn_title" /> 注意: (1)android:layout_centerVertical="true"可以调整中间位置 (2)被include进来的布局组件可以通过findViewById()得到并使用 2. merge(见图) 作用:合并UI布局,降低嵌套层次 (1)被include进来的布局文件可以使用merge标签,这样被include进来的布局是叠加的。 <FrameLayout <include layout="@layout/common_progress" /> 这个common_progress就可以使用merge标签 <merge xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <ProgressBar <TextView </merge> 加上merge后这两个组件ProgressBar和TextView会叠加在一起 3. ViewStub惰性加载 作用:和include一样可以用来引入一个外部布局,不同的是,viewStub引入的布局默认不会扩张,既不会占用显示也不会占用位置,从而在解析layout时节省CPU和内存 (1)用法: <ViewStub android:layout="@layout/common_text" //不能使用layout="",否则会exception:viewstub must have a valid layoutresource android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/viewStub" (2)可以通过ViewStub类的inflate()方法使其显示出来。
    查看全部
  • 6.后退与前进: 当你的WebView覆盖了URL加载,它会自动生成历史访问记录,你可以通过goBack()或者goForward()向前或向后访问已访问过的站点。 @Override public boolean onKeyDown(int keyCode,KeyEvent event){ if((keyCode==KeyEvent.KEYCODE_BACK)&& myWebView.canGoBack(){ webView.goBack(); return true; } return super.onKeyDown(keyCode,event); } 7.判断页面加载过程: 由于有些网页可能加载缓慢,所以我们需要去判断页面的加载过程,制作进度条给予用户良好的体验效果 webView.setWebChromeClient(new WebChromeClient(){ @Overrid public void onProgressChanged(WebView view,int new Progress){ if(newProgress==100){ //加载完成 } else{ //加载中 } }); 8.WebView缓存的运用: 优先使用缓存: webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); 不用缓存: webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
    查看全部
  • 一个清单只能有一个application节点 activity活动,必须配置 service:主要进行后台逻辑代码的处理,与activity的区别就是:activity主要处理界面的逻辑代码处理 Content Provider:内容提供者,主要管理数据库的访问以及程序内与程序之间共享 Broadcast Recevier(广播接收者):全局事件的监听器,主要是过滤的作用
    查看全部
  • gridView实现过程: 1.准备数据源 dataList=new ArrayList<Map<String,Object>>(); 2.新建适配器(SimpleAdapter) adapter=new SimpleAdapter(this,getData(),自定义布局,new String[]{"image","text"},new int[]{R.id.image,R.id.text}); (getData方法内容见笔记附录1) 3.gridView加载适配器 gridView.setAdapter(adapter); 4.gridView配置时间监听器(OnItemClickListener) 插入接口OnItemClickListener gridView.setOnItemClickListener(this); (onItemClick见笔记附录2) 笔记附录: 1.getData方法内部 private List<Map<String,Object>> getData(){ for(int i=0;i<icon.length;i++){ Map<String,Object>map=new HashMap<String,Object>(); map.put("image",icon[i]); map.put("text",iconName[i]); dataList.add(map); } return dataList; } 2.public void onItemClick(...){ Toast.makeText(this,"我是"+iconName[position],Toast.LENGTH_SHORT).show(); }
    查看全部
    5 采集 收起 来源:使用GridView

    2018-03-22

  • ListView 显示列表的空间 数据适配器 作用:把数据填充在指定视图界面上 ArrayAdapter:用于绑定格式单一数据 数据源:集合或者数组 SimpleAdapter:用于绑定格式复杂的数据 数据源:只能是特定泛型的集合 数据适配器是连接数据源和视图界面的桥梁 实现过程:新建适配器->添加数据源到适配器->视图加载适配器
    查看全部
    5 采集 收起 来源:解读适配器

    2018-03-22

  • 如何使用WevbView: 1.将WebView加入到你的应用 2.使用WebView加载页面 --要在WebView加载页面,使用loadUrl() --web资源:webView.loadUrl("http://www.baidu.com"); (本地文件使用: webView.loadUrl("file:///android_asset/xxxx.html");) --使页面获得焦点: webView.requestFocus(); //否则有的输入框不会有响应 3.获取网络访问权限: 在它有效工作之前,你要保证你的应用能访问网络,要访问网络,需要在你的配置我就爱你中获取INTERNET权限: <uses-permission android:name="android.permission.INTERNET">
    查看全部
  • 1.每个组件都必须包含android:name这个属性,推荐用全名称(包名.类名),intent-filter(过滤器)是可以选写的<br> 2.四大组件中除了BroadcastReceiver可以使用代码声明注册以外,其他组件必须要在Manifest文件中进行声明配置,否则会报错 3.可以使用alt+/的组合快捷键,通过代码提示加快书写效率 4.android的系统权限有很多,不用全不记忆,只需会像查字典一样,学会查询和使用就可以了 5.自定义的权限其实是为了保护应用程序的组件不会轻易被另一个应用程序访问
    查看全部
    4 采集 收起 来源:总结

    2018-03-22

首页上一页1234567下一页尾页

举报

0/150
提交
取消
课程须知
本课程是Android开发课程进阶部分的第1季,将讲解各种高级控件的使用,对于不熟悉Android开发的童鞋来说会有一定的难度,所以,建议在学习本门课程之前: 1、熟练掌握Java基础语法和面向对象编程 2、熟悉Android开发环境 3、熟练使用Button、ImageView等基础控件
老师告诉你能学到什么?
1、Android高级控件的应用场景 2、Android高级控件的使用方法 3、熟悉Android常用高级控件

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!