这一章分三部分: (1)自定义控件:老师先简单讲解了一些细节,如为什么不用px,而要用dp,只因机型的屏幕分辨率不同,用px会导致差异太大.然后演示了制作自定义控件的步骤,先在xml文件中添加对应的自定义View类,并给出画布大小,然后在.java中onDraw,值得注意的是onDraw中的坐标都是相对于画布(即xml中定义的)而言的,所以用具体数值去绘制view,很容易出现问题. (2)Fragment:第一点是两种设置fragment的方法.第一种是在.xml文件中,这是静态设置,不能交互:…
一.SQLite 1.基本操作: (1)创建数据库:在SQLiteOpenHelper的子类构造器中创建. (2)创建表:在SQLiteOpenHelper的子类onCreate方法中,调用execSQL方法实现. (3)增.删.改.查:分别调用SQLiteDatabase的insert.delete.update.query方法,又或者在execSQL方法中使用SQL语句来实现相应功能. 2.利用事务对数据库进行操作 (1)先开启事务db.beginTransaction(),接着执行操作 (…
一.SharedPreferences (1)SharedPreferences能够用来保存一些属于基本数据类型的数据. (2)保存数据,删除数据都是由SharedPreferences的内部接口Editor负责. (3)通过这种方式保存的数据在root->data->包名->shared-prefs文件夹下的xml文件中. 二.文件管理 (1)创建文件的方式:new File(...)和openFileOutput,通过new File(...)的方式创建文件,还需要调用createN…
1.Service (1)含义:Service是在后台长时间运行的应用组件,所在线程是main线程. (2)使用方式:startService能够执行onStartCommand中操作,bindService能够将Service的实例对象返回给Activity,从而能够在Activity中使用Service的方法.而用new方法创建Service对象,没有报错,但无法成功调用Service的方法. (3)注意:在onStartCommand中,老师建议我们将返回值改为START_NOT_STIC…
课时35类模板 类模板 创建类模板的实例 class Name<类型参数表>object; 类模板与模板类的区别 类模板是模板的定义,不是一个实实在在的类,定义中用到通用类型参数 模板类是实实在在的类定义.是类模板的实例化.类定义中参数被实际类型所代替 课时37STL基本概念 STL 向量(vector)属于序列式容器,用于容纳不定长线行序列,提供对序列的快速随机访问(也称直接访问) 向量是动态结构,模拟动态数组,它的大小不固定,可以在程序运行时增加或减少 vector的元素可以是任意类型T,…
课时33示例--为多态基类声明虚析构函数 微软校园招聘笔试题 #include <iostream> class Base { public: char Value() { return 'A'; } virtual char VirtualValue() { return 'X'; } }; class Derived :public Base { public: char Value() { return 'U'; } }; class VirtualDerived :virtual pu…
课时44设计模式简介 设计模式简介 面向对象设计的第一个原则:针对接口编程,而不是针对实现编程 接口->指针 实现->实例 若已存在一个类Class A,现在希望复用Class A,则有以下两种方法. 通过继承实现复用 通过组合实现复用 面向对象设计的第二个原则:优先使用对象组合,而不是类继承 课时45观察者模式 如果两个对象是松耦合的,则他们可以相互作用,但彼此的依赖性很小. #include <iostream> #include <assert.h> #inclu…
课时23运算符重载 运算符重载 重载赋值运算符 Person& Person::operator=(const Person& other) { //检查自赋值 if (this == &other) { return *this; } //释放原有的内存资源 delete[]m_data; int length = strlen(other.m_data); m_data = new char[length + 1]; strcpy(m_data, other.m_data);…
课时12构造函数与析构函数-2 构造函数 构造函数可以有多个 构造函数可以重载 构造函数用于隐式类型转换 class Student { public: explicit Student(int ssID) :id_(ssID) { std::cout << "constructing student:" << ssID << std::endl; } private: int id_; }; void func(Student& stu)…
课时6函数重载 函数重载 在C语言头文件中的extern "C" //常见的C语言头文件格式 #ifndef _FUNC_ #define _FUNC_ #ifdef __cplusplus extern "C" { #endif // __cplusplus void func(); #ifdef __cplusplus } #endif // __cplusplus #endif…
写在前面 今天咱们抓取一下网易云课堂的课程数据,这个网站的数据量并不是很大,我们只需要使用requests就可以快速的抓取到这部分数据了. 你第一步要做的是打开全部课程的地址,找出爬虫规律, 地址如下: https://study.163.com/courses/ 我简单的看了一下,页面数据是基于 https://study.163.com/p/search/studycourse.json 这个地址进行异步加载的.你自己尝试的时候需要借助开发者工具 进行多次尝试,抓取到这个地址的数据为准. 还…
本篇文章想跟大家分享下:我们公司“湖北诚万兴科技”最近刚帮客户定制开发.目前已上线的“哎咆课堂”微信小程序的开发经验分享.首先大概介绍下这个小程序所涉及到的主要技术点:微信登录.微信支付.微信小程序Flex布局以及微信小程序视频播放器的使用. 首先,任何一个微信小程序开发之前都需要先设计界面效果图:既然是仿网易云课堂App,那么界面上都有不少地方是借鉴其布局排版,先一睹为快看下首页和课程分类界面的效果吧 界面效果图确定,下面就开始做程序开发,这也是本文要讲的重点,主要经验总结如下: 1.使用"t…
原文链接 网易云音乐Android版从第一版使用到现在,全新的 Material Design 界面,更加清新.简洁.同样也是音乐播放器开发者,我们确实需要思考,相同的功能,会如何选择.感谢开源,让我们有更多的时间和精力专注在自己产品的设计以及开发业务上. 网易云音乐Android版在开发过程中使用了下列第三方开源类库.组件.(本文由于潜在的商业目的,仅供开发者参考学习) 项目名称 项目信息 material-dialogs MD 对话框 fastjson JSON解析 fresco 图片加载…
<Python自动化测试修炼宝典>线上课程已经成功入驻网易云课堂...... IT测试老兵利用工作之余,亲自录制的<Python自动化测试修炼宝典>线上课程已经成功入驻网易云课堂,想要提高测试技术的小伙伴可以线上购买课程进行学习. 课程背景 测试人员进阶实战课程.本套课程以作者多年测试实战经验为背景,结合大量测试案例深入浅出讲解目前主流web端.app端自动化测试框架以及使用Python如何从0到1实现接口测试框架的搭建. 课程特色 系统教学+实战案例+开放源码.涵盖Python3…
本Chat以一个我参与开发并已上线运营近2年——类似网易云课堂的微信小程序项目,来进行微信小程序高级开发的学习. 本场Chat围绕项目开发核心技术分析,帮助你快速掌握在线视频.音频类小程序开发所需要的进阶技能:主要包括以下内容: 音频播放器 UI布局 及功能实现 视频播放器功能实现 语音搜索(类似微信语音发送效果.可上滑取消)UI 实现 语音搜索服务端实现(音频格式转换及处理) 百度音频识别接口使用 系统架构设计及要点说明 相关核心代码展示 Chat链接:https://gitbook.cn/g…
本文的所有代码都在GitHub上托管,想要代码的同学请点击这里…
XMind与MindManager哪个好 作者:网易云课堂老师:Array老师讲解稿 思维导图是一种将放射性思考具体化的方法,可以将人们的创造性思维及时捕捉并呈现,深受商业人士的喜爱.目前,XMind和MindManager是最受瞩目且用户群体最大的两大思维导图软件,而XMind与MindManager哪个好这一热门话题成了思维导图用户比格外关心的一个问题.为此,小编深入浅出,通过多方面的比较,给出如下总结. 一.开源 XMind是开源软件:MindManager不是开源软件. 二.费用 XMi…
本实例实现了抓取网易云课堂中以‘java’为关键字的搜索结果,经详细查看请求的方式为post,请求的结果为JSON数据 具体实现代码如下: import requests import json import pymysql conn = pymysql.connect(host='localhost', port=3306, user='root', passwd=', db='test', charset='utf8') #连接数据库 cur = conn.cursor() totlePag…
在Linux环境下简单编程学习心得 linux编程过程 在上周的<信息安全设计基础>的课程学习中学习到了在虚拟的linux环境下简单的编程.学习过程中接触到了vim.gcc和gcd在实验楼中,也利用了实验楼的环境完成了实验. 在实验楼里模拟出来的环境的确方便了学习,但是因为会有时间限制,有些知识就学的不够精通,于是又在自己的电脑上的虚拟机再次练习尝试,结果就发现遇到了很多问题. 编译原理 首先需要了解vim.gcc和gcd的分别的作用是什么. vim:用来编写程序使用,写入代码的.c源文件 g…
镜像文章 1.用其他音乐源帮帮网易云,Ubuntu听歌利器 2.用其他音乐源帮帮网易云,Windows听歌利器 1.TaiChi模块简介 TaiChi(太极)是一款免解锁,免root,就能够运行 Xposed 模块的框架.模块能通过它改变系统和应用的行为,并且它支持 Android 5.0 ~ 10.0. 下载链接:https://www.taichi-app.com/ 2.所需程序下载 2.1网易云下载 推荐使用网易云国内版6.0.0,或者是网易云Google Play版4.3.1. 2.2模…
网站:http://www.topeetboard.com 光盘资料+网盘资料+配套视频+售后支持,助您加速学习研发的进程 产品介绍 iTOP-Exynos4412开发板采用 Exynos4412的主芯片,具有更高的主频和更丰富外设,配置 2GB 双通道 DDR3的内存及 16GB 存储,具有稳定性强.可靠性高,能适用于对性能和处理能力有更高要求的嵌入式系统应用场合. iTOP-Exynos4412开发板内置有无线 WIFI 模块.Bluetooth.GPS.Camera.3G等模组,支持 HD…
    本节将分为五个步骤来完成Android开发环境的部署. 第一步:安装JDK. 第二步:配置Windows上JDK的变量环境 . 第三步:下载安装Eclipse . 第四步:下载安装Android SDK . 第五步:为Eclipse安装ADT插件.     (1)安装JDK:       JDK(Java SE Development Kit Java 标准版开发工具箱).JDK是Java的核心,包含了Java的运行环境(Java Runtime Environment),一堆Java工…
第三章 Git使用入门 使用Git的目的是减少各种版本的Linux的压缩大小,提供源代码在Linux上进行编译. 在这一个章节中,其实就是关键步骤的操作,虽然Git与我们学习的android没有很大的联系,但是在开发环境中也是必不可少的.通过学习这个章节,学习到了安装,查看,提取Git的方法.下面将详细讲述. 一.安装Git 可能大多数Linux上已经安装了Git,如果没有可以用下面的命令. Ubuntu10.04版本以下的有-core与原来的区分, 必须的:apt-get install gi…
 编者按 JRedu 杰瑞教育原创系列教材将于年后与大家正式见面.为更好的借鉴读者意见,我们将会陆续地在博客园推出一系列教材试读.我们也热忱的欢迎广大博友与我们互动,提出宝贵意见. 本篇博客将推出教材第三章第二部分的试读(传送门:第一部分),请大家继续提出宝贵意见,我们也将为积极互动的博友,免费提供我们的原创教材以及更多福利,也欢迎大家加入最下方QQ群与我们交流,谢谢大家! 3.5 系统设置事件处理 3.5.1onConfigurationChanged响应事件 在App开发过程中,有时候需要获…
2.1 Android IPC 简单介绍 IPC 意为进程间通信或者跨进程通信,线程是 CPU 调度的最小单元,是一种有限的系统资源. 进程一般指一个执行单元.不论什么操作系统都须要对应的 IPC 机制. 如 Windows 上能够通过剪切板 管道 和邮槽来进行:Linux 上能够通过命名管道 共享内容 信号量等来进行. 在 Android 中最有特色的进程间通信方式就是 Binder 了,同一时候也支持 Socket 实现随意两个终端之间的通信. 2.2 Android 中的多进程模式 (1)…
单机搭建Android开发环境,第一篇重点介绍了如何优化Windows 7系统,以提高开发主机的性能并延长SSD的使用寿命.第二篇重点介绍了基于VMWare安装64位版的Ubuntu 12.04,并安装sshd.vim和samba.本篇将重点介绍VMWare配置的优化以及Ubuntu 12.04系统的优化,进一步减少对SSD无谓的写操作并提高Ubuntu的开机启动速度和运行性能.最终优化的结果,在SSD上启动Ubuntu 12.04,大概不到9秒. 首先通过修改*.vmx配置文件,取消生成日志,…
错误:Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl; Android开发难免会使用到其他的类库,其中已引入第三方类库后出现了如上错误.原因是项目和类库中都引用了…
在开发工程中线程可以帮助我们提高运行速度,Android开发中我知道的线程有四个一个是老生长谈的Thread,第二个是asyncTask,第三个:TimetTask,第四个是Looper,四个多线程各有个的有点,Thread的运行速度是最快的,AsyncTask的规范性是最棒的,其它两个也有自己的优点. 1.Thread与Handler组合,比较常见 Handler主要是帮助我们来时时更新UI线程 这里在后天加载100张图片,然后没加载完成一个用handler 返回给UI线程一张图片并显示 最后…
1.为开发好的项目文件瘦身 如:在项目文件ScreenCapture中,只需保留框起来的两个文件即可 而且在框起来的ScreenCapture里的Debug文件也可以删掉,整个文件由75.4 MB变为33.1 KB. 2.vs2013开发环境IDE介绍 ps:资源视图一般在开发MFC Windows程序时使用,而类视图对于查看全局函数和各个类里的函数比较方便(特别是在cpp文件比较多的情况下) --->调用跨文件的函数,需要进行声明 ->调式: 本地windows调式器(快捷键F5) 使用F9…
1 逆序的三位数(5分) 题目内容: 程序每次读入一个正三位数,然后输出逆序的数字.注意,当输入的数字含有结尾的0时,输出不应带有前导的0.比如输入700,输出应该是7. 输入格式: 每个测试是一个3位的正整数. 输出格式: 输出逆序的数. 输入样例: 123 输出样例: 321 时间限制:500ms内存限制:32000kb #include <stdio.h> main() { int a, b, c, x, y; scanf("%d", &x); a = x /…