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

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

难度入门
时长 5小时 0分
学习人数
综合评分9.43
320人评价 查看评价
9.8 内容实用
9.4 简洁易懂
9.1 逻辑清晰
  • viewPager是什么

    查看全部
    0 采集 收起 来源:解读适配器

    2018-03-25

  • 数据适配器:把复杂的数据填充在指定的视图页面。 数据适配器是连接数据源和视图界面的桥梁。 新建适配器 ☞添加数据源到适配器 ☞视图加载适配器。 数据源 监听器
    查看全部
    0 采集 收起 来源:课程目标

    2018-03-25

  • //WebView加载页面优先使用缓存加载,其次再用网络
    settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
    
    webView.setWebChromeClient(new WebChromeClient(){
        @Override
        public void onProgressChanged(WebView view, int newProgress) {
            //newProgress 1-100之间的整数
            if (newProgress == 100) {
                //网页加载完毕,关闭ProgressDialog
                closeDialog();
            } else {
                //网页正在加载,打开ProgressDialog
                openDialog(newProgress);
            }
        }
    
        private void openDialog(int newProgress) {
            if(dialog==null) {
                dialog = new ProgressDialog(MainActivity.this);
                dialog.setTitle("正在加载");
                dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
                dialog.setProgress(newProgress);
                dialog.show();
            } else {
                dialog.setProgress(newProgress);
            }
        }
    
        private void closeDialog() {
            if (dialog!=null && dialog.isShowing()) {
                dialog.dismiss();
                dialog = null;
            }
        }
    
    
    });


    查看全部
  •     //改写物理按键——返回的逻辑
        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_BACK) {
    //            Toast.makeText(this, webView.getUrl(), Toast.LENGTH_SHORT).show();
                if (webView.canGoBack()) {
                    webView.goBack();//返回上一页面
                    return true;
                } else {
                    System.exit(0);//退出程序
                }
            }
            return super.onKeyDown(keyCode, event);
        }


    查看全部
  • public class MainActivity extends Activity {
    
        private String url = "http://2014.qq.com";
        private WebView webView;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
    //        Uri uri = Uri.parse(url);
    //        Intent intent = new Intent(Intent.ACTION_VIEW,uri);
    //        startActivity(intent);
    
            init();
        }
    
        private void init() {
            webView = (WebView) findViewById(R.id.webView);
            //WebView加载本地资源
    //        webView.loadUrl("file:///android_asset/example.html");
            //WebView加载web资源
            webView.loadUrl(url);
            //覆盖WebView默认通过第三方或者是系统浏览器打开网页的行为,使得网页可以在WebView中打开
            webView.setWebViewClient(new WebViewClient(){
                @Override
                public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
                    //返回值是true的时候控制网页在WebView中去打开,如果为false调用系统浏览器或第三方浏览器去打开
                    return true;
                }
                //WebViewClient帮助WebView去处理一些页面控制和请求通知
            });
            //启用支持JavaScript
            WebSettings settings = webView.getSettings();
            settings.setJavaScriptEnabled(true);
        }
    }


    查看全部
  • 在Android Studio中需要自己新建一个 assets 文件夹,注意这里必须是复数,写成 asset是找不到路径的! 并且必须建在 main 文件下,与 java 和 res 是同级的:右击 main --> new --> Directory -->在 Directory name 一栏写上assets -->点击OK, 建好 assets 文件夹后,右击 assets,选择 new --> file -->输入example.html -->点击OK,就创建了该文件。然后在里面写上: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> </head> <body> <a href="https://www.baidu.com/">打开百度</a> </body> </html> 就完成了。 最后在 MainActivity中写上:webView.loadUrl("file:///android_asset/example.html"); 注意,这里的是 asset,是单数,没有 s。
    查看全部
  • SCROLL_STATE_FLING -> 用户在手指离开屏幕之前,由于用力划了一下,视图任然依靠惯性,继续划了一段距离。 SCROLL_STATE_IDLE -> 视图已经停止滑动。 SCROLL_STATE_TOUCH_SCROLL -> 手指没有离开屏幕,手指正带着屏幕滑动。 如果要动态修改数据,那么需要adapter.notifyDataSetChanged();如果修改了数据,而没有通知listview刷新,那么将会出错。
    查看全部
  • 1.新建数据适配器 ArrayAdapter(上下文,当前listView加载的每一个列表项所对应的布局文件,数据源(需先生成)) 新建适配器时采用的函数:SimpleAdapter(context,data,resource,from,to) context:上下文 data: 数据源(List<? extends Map<String,?>> data) 一个Map所组成的List集合 每一个Map都会取对应ListView列表中的一行 每一个Map<key,value>中的key必须包含所有在from中所指定的key resource: 列表项的布局文件ID from:Map中的key值(键名) to:绑定数据视图中的ID,与from成对应关系 2.适配器加载数据源 3.视图加载适配器
    查看全部
    0 采集 收起 来源:使用SimpleAdapter

    2018-03-22

  • Fragment生命周期
    查看全部
  • Webpage not allowed
    查看全部
  • layout转换为view对象 inflate参数解释
    查看全部
  • layout转换成view对象
    查看全部
  • 自定义权限: 1.定义一个权限<permission>,包含权限的名称android:name和权限级别android:protectionLevel。 2.在要设置权限的<Activity>里面添加android:permission="你定义的权限名字"; 其他应用想要进入这个应用的Activity界面就需要拥有相应的权限,否则将出现“权限拒绝”的错误。 其他应用如何拥有该权限?只需要在各自应用的配置文档中添加标签<uses-permission android:name="你定义的权限名称" />就可以了。
    查看全部
    0 采集 收起 来源:自定义权限

    2018-03-22

  • 思路:准备好数据源 —> 创建一个类继承于对于的适配器类,在该类中实现对数据源中对象的创建,销毁 —> 在Activity中创建适配器,将数据有导入适配器,并且完成适配器的绑定。
    查看全部
  • 重点在fragment创建和activity怎么绑定fragment.
    查看全部

举报

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

微信扫码,参与3人拼团

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

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