eoe 移动开发者论坛

 找回密码
 加入eoe

QQ登录

只需一步,快速开始

查看: 19207|回复: 620
收起左侧

专家答疑第20期:和李刚老师一起疯狂Android【结束】

  [复制链接]

签到天数: 16 天

连续签到: 1 天

[LV.4]偶尔看看III

52

主题

99

帖子

1063

e币
发表于 2015-5-26 21:25:24 | 显示全部楼层 |阅读模式

没有eoe的账号,级别还太低,出门如何吹牛逼?

您需要 登录 才可以下载或查看,没有帐号?加入eoe

x
轰轰烈烈的专家答疑居然这么快就结束了,感谢李刚老师给我们解答了大量的问题~我们随机抽取了5个李刚老师回答过的问题,提问的小伙伴儿各获得由博文视点提供的《疯狂Android讲义(第3版)》1本
他们是:@allenguo227 @mwj_88 @hiyounglee @stayalone @hellobin
请将你们的地址和联系方式私信给我,下周一将统一寄送奖品哒~

------------------分割线----------------------------
技术主题:

疯狂Android讲义
      Android系统就是一个开放式的移动互联网操作系统,Android已经成为应用最广的移动互联网平台,对于Java语言而言,Android系统给了Java一个新的机会。在过去的岁月中,Java语言作为服务器端编程语言,已经取得了极大的成功,Java EE平台发展得非常成熟,而且一直是电信、移动、银行、证券、电子商务应用的首选平台、不争的王者。但在客户端应用开发方面,Java语言一直表现不佳,虽然Java既有AWT/Swing界面开发库,也有SWT/JFace界面开发库,但对于客户端应用开发人员而言,大多不愿意选择Java语言。Android系统的出现改变了这种局面,Android是一个非常优秀的手机、平板电脑操作系统,正不断蚕食传统的桌面操作系统,而Android平台应用的开发语言就是Java,这意味着Java语言将可以在客户端应用开发上大展拳脚。

      本期eoe特邀《疯狂Android讲义(第3版)》图书作者李刚老师(eoe账号:@crazyit_lee),现场为大家讲解关于Android开发技术问题,大家赶快提问吧,各位eoer 尽可在本周与李刚老师直面交流!
      直接在本帖子下回复问题即可。

专家简介:
李刚(@crazyit_lee)                                  eoe-1.jpg
      十余年软件开发从业经验,疯狂软件教育中心教学总监。疯狂Java实训营创始人,疯狂Java体系原创图书作者。广东技术师范学院计算机科学系兼职副教授。培训的学生已在华为、IBM、阿里软件、网易、电信盈科等名企就职。国内著名高端IT技术图书作家,其中疯狂Java体系图书均已沉淀多年,赢得极高的市场认同,多次重印成为超级畅销图书,并被多所“985”、“211”高校选作教材,部分图书已被翻译成繁体中文版,授权到台湾地区。

著作介绍:
疯狂Android讲义(第3版)(CD光盘1) eoe-2.jpg
      《疯狂Android讲义(第3版)》基于最新的Android 5,并采用了Google推荐的IDE:Android Studio作为开发工具,书中每个案例、每个截图都全面升级到Android 5。本书全面介绍了android应用开发的相关知识,全书内容覆盖了Android用户界面编程、Android四大组件、Android资源访问、图形/图像处理、事件处理机制、Android输入/输出处理、音频/视频多媒体应用开发、OpenGL与3D应用开发、网络通信编程、Android平台的Web Service、传感器应用开发、GPS应用开发、整合第三方Map服务等。全书一共包括近百个实例,这些示范性的实例既可帮助读者更好地理解各知识点在实际开发中的应用,也可供读者在实际开发时作为参考、拿来就用。书中最后还提供了两个实用的案例:合金弹头和电子拍卖系统Android客户端,具有极高的参考价值。


活动时间:
      2015.5.27~6.3

活动奖励:
1、凡参与的会员都可获得30e币奖励(纯恶意灌水不仅会删帖还有机会小黑屋7日游哦);
2、随机(当然首先必须是表现优秀的eoer)抽出5童鞋赠予《疯狂Android讲义(第3版)》(含CD光盘1张)图书1本 & eoe限量水晶摆饰1个 & 价值30元的极客学院30天VIP。
                                                            eoe-2.jpg    eoe-3.jpg


签到天数: 8 天

连续签到: 1 天

[LV.3]偶尔看看II

0

主题

20

帖子

196

e币
发表于 2015-5-26 21:43:55 | 显示全部楼层

回帖奖励 +30

本帖最后由 oranzxc 于 2015-5-28 16:16 编辑

近距离接触李老师,好激动!!想请教一下EventBus跟广播有什么区别?具体什么情况下使用EventBus更好呢?谢谢~

点评

EventBus也是一个基于"发布/订阅"的工具,通常用于应用内各组件之间的通信,在某些方面可代替Broadcast,不过Broadcast除了可用于组件之间通信之外,还可以用于接收系统消息、不同应用之间的消息。  详情 回复 发表于 2015-5-27 15:12

签到天数: 715 天

连续签到: 110 天

[LV.9]以坛为家II

30

主题

2045

帖子

1万

e币
社区贡献者QQ认证社区认证会员
发表于 2015-5-26 22:37:41 | 显示全部楼层

回帖奖励 +30

学习Android这么多年了,也看了国内外的一些书。其实最好的教材还是http://developer.android.com/index.html,开发中遇到的问题解决办法更多的是靠搜索。

点评

是对的。 正如《疯狂Android讲义》前言说的,只要把http://developer.android.com/index.html全部都理解、掌握,从事android开发没有问题。  详情 回复 发表于 2015-5-27 15:05

该用户从未签到

0

主题

9

帖子

45

e币
发表于 2015-5-26 22:57:53 | 显示全部楼层

回帖奖励 +30

抢首页,嘿嘿嘿嘿

签到天数: 106 天

连续签到: 1 天

[LV.6]常住居民II

9

主题

239

帖子

2045

e币
发表于 2015-5-26 23:15:00 | 显示全部楼层

回帖奖励 +30

书里面有介绍自定义View的吗
自定义控件感觉能做出很炫,符合自己要求的效果;可是,这中间的逻辑好像很难,有的直接连思路都没有……郁闷!想学,不知道怎么去学,老师指点指点!

点评

有自定义View的知识, 至于你说得很炫的效果,主要需要2方面的知识,用户交互响应和图形、图像绘制与变换。 不过有一些特定的图形、图像特效,还需要一定的数学基础知识。  详情 回复 发表于 2015-5-27 14:33

签到天数: 89 天

连续签到: 1 天

[LV.6]常住居民II

4

主题

380

帖子

2091

e币
发表于 2015-5-26 23:32:24 | 显示全部楼层

回帖奖励 +30

不错   李刚老师的书我都有看过

点评

谢谢。疯狂系列图书供包括“疯狂Java体系”和“疯狂iOS体系”,要把两个体系都掌握。 难度还是不小的。  详情 回复 发表于 2015-5-27 14:46

签到天数: 6 天

连续签到: 2 天

[LV.2]偶尔看看I

10

主题

20

帖子

150

e币
发表于 2015-5-26 23:36:19 | 显示全部楼层

回帖奖励 +30

怎么样禁止webview滑动

点评

我记得可以设置Web的滑动条行为的。 可以对WebView的 android:scrollbars进行设置。  详情 回复 发表于 2015-5-27 14:51

签到天数: 52 天

连续签到: 1 天

[LV.5]常住居民I

0

主题

165

帖子

1919

e币
QQ认证社区认证会员
发表于 2015-5-26 23:48:33 | 显示全部楼层

回帖奖励 +30

老师真的好年轻( ⊙ o ⊙ )啊!不是近照吧?????

点评

这是快10年前的照片了, 人丑,照相少,没什么新照片。  详情 回复 发表于 2015-5-27 14:52

签到天数: 41 天

连续签到: 1 天

[LV.5]常住居民I

4

主题

60

帖子

311

e币
发表于 2015-5-27 00:05:51 | 显示全部楼层

回帖奖励 +30

项目开发中遇到的一些问题

本帖最后由 xclong 于 2015-5-27 00:09 编辑

一个人做项目,还是个新手,很多不懂的地方,故求助于各位大神
目前在项目中 有三个问题未解决

1.点击定义在Fragment中的Button,弹出自定义的对话框,里面有两个相关联的Spinner,显示不出数据(里面要显示的数据在value/array里面)


//对话框中自定义的TableLayout
        tab_query = (TableLayout) getActivity().getLayoutInflater().inflate(R.layout.query_dialog, null);
        et_carNO = (EditText) tab_query.findViewById(R.id.et_car_number);/*车牌号*/
        sp_province = (Spinner) tab_query.findViewById(R.id.sp_province);/*省份*/
        sp_city = (Spinner) tab_query.findViewById(R.id.sp_city);/*城市*/
        adapter1 = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_dropdown_item, province_arr);
        sp_province.setAdapter(adapter1);
        sp_province.setOnItemSelectedListener(this);

    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
        String str = sp_province.getSelectedItem().toString();
        Log.e("sp_province",str);

        int i = 0;
        while (i < province_arr.length) {
            if (str.equals(province_arr)) break;
            ++i;
        }

        switch (i) {
            case 0:
                adapter2 = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_dropdown_item, getResources().getStringArray(R.array.hubei));
                break;

            case 1:
                adapter2 = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_dropdown_item, getResources().getStringArray(R.array.shandong));
                break;
        }
        sp_city.setAdapter(adapter2);
    }


new AlertDialog.Builder(getActivity())
         .setIcon(R.drawable.ic_launcher_settings)
         .setTitle("请填入搜索项")
         .setView(tab_query)
         .setPositiveButton("确定", new DialogInterface.OnClickListener() {
             @Override
             public void onClick(DialogInterface dialog, int which) {

             }
         })
         .create()
         .show();


2.在下面还有一个Fragment 里面有一个ListView 点击某一行的第一列(车牌号),怎么让ListView 刷新(里面有很多行数据,包括车牌号相同的),只显示相同车牌号的许多行 我用的是自定义的MyBaseAdapter 在getView里有个抽象方法,在FragmentList里创建ListView的adapter对象时去实现那个方法

adapter = new MyBaseAdapter(getActivity().getApplicationContext(), itemLists) {
            @Override
            protected void initListCell(final int position, View convertView, ViewGroup parent) {

                car_number = (TextView) convertView.findViewById(R.id.car_number);
                car_number.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        //点击车牌号后只显示同一车牌的所有信息
                        createNewList(position);//创建相同车牌号的数据源
                        for (int i = 0; i < carNoList.size(); i++) {
                            System.out.println(carNoList.get(i).get("riqi").toString());
                        }
                    }
                });
                NOx_F = (TextView) convertView.findViewById(R.id.NOx_F);
                NOx_R = (TextView) convertView.findViewById(R.id.NOx_R);
                DNOx_Effi = (TextView) convertView.findViewById(R.id.DNOx_Effi);

                car_number.setText(itemlists.get(position).get("car_number").toString());
                NOx_F.setText(itemlists.get(position).get("NOx_F").toString());
                NOx_R.setText(itemlists.get(position).get("NOx_R").toString());
                DNOx_Effi.setText(itemlists.get(position).get("DNOx_Effi").toString());
            }
        };
listview.setAdapter(adapter);


3.在问题1 中的 Button 后面还有一个Button 点击弹出一个多选对话框,选项是下面一个Fragment里的ListView里的列名,选择完成后点确定,更新下面ListView中的列的控件的属性,选中的setVisibility(View.VISIBLE) 没选中的就隐藏 setVisibility(View.GONE)
我的思路是在 多选对话框里的 boolean[] 用的是定义在Activity里的 public static boolean[] itemSelect = new boolean[]{true, true, true, true, false, false, false, false, false, true};  点击对话框的确定后调用定义的接口里的方法,Activity implements 改接口 实现那个方法 可是怎么都实现不了
下面是我的部分代码:

public interface Callback_select {
        void BtnSelectOnclick();
    }


new AlertDialog.Builder(getActivity())
                .setIcon(R.drawable.ic_launcher_settings)
                .setTitle("选择显示/隐藏的列")
                .setMultiChoiceItems(items, ShowActivity.itemSelect, new DialogInterface.OnMultiChoiceClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                        ShowActivity.itemSelect[which]=isChecked;
                    }
                })
                .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        callback_select.BtnSelectOnclick();
                    }
                })
                .create()
                .show();


//在Activity里实现那个回调的方法
@Override
    public void BtnSelectOnclick() {
        fm.beginTransaction().remove(fragmentList).commit();//移除掉原来那个fragment
        FragmentList fl = new FragmentList(); //创建一个新的 fragment

        setItemVisibility(itemSelect); // 修改控件的属性
        fm.beginTransaction().add(R.id.list_container, fl).commit();
    }


private void setItemVisibility(boolean[] bools) {
        //修改ListView上方列名的可视化 以及 ListView中对应数据的可视化
        for (int i = 0; i < bools.length; i++) {
            if (bools == true) {
                findViewById(columnId).setVisibility(View.VISIBLE);//修改ListView上面一行列名的Visiblity
                findViewById(listItemId).setVisibility(View.VISIBLE);//修改ListView item 的 Visiblity
            } else {
                findViewById(columnId).setVisibility(View.GONE);
                findViewById(listItemId).setVisibility(View.GONE);
            }
        }

    }


更多图片 小图 大图
组图打开中,请稍候......

签到天数: 606 天

连续签到: 3 天

[LV.9]以坛为家II

0

主题

887

帖子

7345

e币
发表于 2015-5-27 08:29:35 | 显示全部楼层

回帖奖励 +30

和李刚老师一起疯狂

签到天数: 426 天

连续签到: 2 天

[LV.9]以坛为家II

4

主题

1595

帖子

6822

e币
发表于 2015-5-27 08:45:59 | 显示全部楼层

回帖奖励 +30

搞不懂安卓插件化开发。所需要的插件是以什么形式放到什么地方的,,如何在用户需要的启动相应插件

点评

插件一般还是以APK文件的形式存在,插件放在网络上的服务端。 当采用插件式方式来开发Android应用时,你通常会有一个主应用,这个主应用将会包含多个插件(其实通常就是APK)的安装入口,并检测各插件是否安装;如果  详情 回复 发表于 2015-5-27 15:02

签到天数: 451 天

连续签到: 1 天

[LV.9]以坛为家II

4

主题

1485

帖子

1万

e币
发表于 2015-5-27 08:52:56 | 显示全部楼层

回帖奖励 +30

支持

签到天数: 55 天

连续签到: 5 天

[LV.5]常住居民I

6

主题

239

帖子

1540

e币
发表于 2015-5-27 08:59:44 | 显示全部楼层

回帖奖励 +30

里面会有反编译教程吗???

点评

这个没有。  详情 回复 发表于 2015-5-27 15:02

签到天数: 50 天

连续签到: 1 天

[LV.5]常住居民I

0

主题

118

帖子

619

e币
发表于 2015-5-27 09:01:24 | 显示全部楼层

回帖奖励 +30

这是本好书,值得拥有。

签到天数: 108 天

连续签到: 1 天

[LV.6]常住居民II

4

主题

244

帖子

1887

e币
发表于 2015-5-27 09:05:40 | 显示全部楼层

回帖奖励 +30

今天我还和我们老大说订购一本了

点评

内容很丰富吗,我也想看看了  详情 回复 发表于 2015-6-6 10:14
谢谢支持。  详情 回复 发表于 2015-5-27 15:35
谢谢支持。  详情 回复 发表于 2015-5-27 15:35
*滑动验证:
您需要登录后才可以回帖 登录 | 加入eoe

本版积分规则

推荐阅读
赞助商们

QQ|联系我们|小黑屋|手机版|eoe 移动开发者论坛 ( 京ICP备11018032 京公网安11010802020210  

GMT+8, 2017-5-1 02:32 , Processed in 0.494739 second(s), 27 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表
关闭

扫一扫 关注eoe官方微信