• 等级
  • 210499 访问
  • 5 原创
  • 593 转发
  • 17160 排名
  • 17 评论
  • 51 获赞

Android Studio:基本UI界面设计 (详细)

一、 实验题目  基本UI界面设计 二、 实现内容 实现一个 Android 应用,界面呈现如下效果: 三、 实验过程 (1)标题   首先我们建立一个TextView控件来写标题。 实验对标题的要求如下: 1 标题字体大小 20sp(android:textSize="20sp") 2 与顶部距离 20dp  (与父容器顶部对齐后再设置与顶部距离20dp) 3 居中 ...

2019-01-10 11:44:37

iOS-xcconfig环境变量那些事(配置环境的配置)

前言 在配置宏定义参数时,会发现一个问题,在需要临时修改或者测试一些数据时,修改宏,如果不修改,就多写一个,注释掉原来的,然后测试后,再换回来,当然了,如果一两个宏,可以这样,但是,如果每次改的比较多,建议用环境变量来配置,也就是用 xcconfig 控制 Debug 或 Release编译时,同一个宏名,取到的值就会不同;或许现在的PCH文件里面是下面这样的...... #define A...

2018-12-26 17:22:05

Xcode添加库文件framework (转)

首先需要了解一下iOS中静态库和动态库、framework的概念 静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用。 什么时候我们会用到库呢?一种情况是某些代码需要给别人使用,但是我们不希望别人看到源码,就需要以库的形式进行封装,只暴露出头文件。另外一种情况是,对于某些不会进行大的改动的代码,我们想减少编译的时间,就可以...

2018-12-26 14:34:31

iOS Xcode9 封装生成.framework

iOS中.a与.framework库的区别 参考这篇文章http://www.cocoachina.com/ios/20161012/17730.html 从上面我们可以看出.a 和.framework的区别就是.a+.h+soureFile=.framework,这样的话,我们还是直接封装个.framework比较好。 封装framework步骤 1、打开xcode,新建工程 这里...

2018-12-26 12:07:11

iOS开发:在Xcode中用Pods管理第三方库

之前写了一篇 iOS开发:在Swift中调用oc库 ,今天记录一下如何用Pods的方式来管理第三方库,包括Swift/Object-C的库。 在这之前请先查阅Guides.CocoaPods如何使用的,安装:getting-started ,安装遇到问题:troubleshooting#installing-cocoapods。 好的,接下来回到我们的项目中,先把之前引用的五个库删掉,没错,就...

2018-12-26 11:56:20

Target、Project、Workspace的联系和区别

Target     Target说明了product/binary是如何构建的,包括一系列build settings(如Linking、Packaging等), build settings 并且Target定义了文件(源码和资源)到底属于哪个项目,添加文件时,需要选择对应的Target(注意:当有多个Target,添加文件时,默认只会选择一个Target,如果该文件需要被多个Tar...

2018-12-26 10:33:47

xcode的ios工程目录结构复习

目录结构: a、supporting files: main.m和资源文件 xxx-info.plist:包含应用程序相关属性列表,如版本,程序名等 .pch文件:预编译头文件,相当于MFC里的stdafx.h,默认已经包含了常用的头文件 .strings文件:国际化字符串资源 图片等其他资源 b、frameworks: 程序需要的外部库文件,默认已经包含常用的库,如UIKit...

2018-12-25 18:17:58

个人浅见:简析Xcode中一个项目的目录结构

讲得可能比较啰嗦,各位看官遇到已经知道的知识点就请直接跳过,看到错误的地方请指正。 一般情况下,一个项目,在Xcode中表现为以下几个部分: 1.我们新建的项目,在Xcode中叫Project。Project也是iOS代码分层中最大的一个概念。       2.第二层就是Target,仅次于Project的一个层次,一个Project可以包含很多Targets。正常的新建一个P...

2018-12-25 17:46:46

MAC安裝CocoaPods

前言,鑒於很多人都比較趕時間,有人是為了去應付工作,有人是為了去找妹子,總之,不管你懂不懂,如果你只是想安裝一下,那麼你只需要按照濤叔下面畫黃色的命令複製粘貼到終端順序執行就好了。 一、安裝  1、Ruby环境搭建 1.1查看下当前ruby版本:打开终端输入 ruby -v $ ruby -v libotaodeMacBook-Pro:~ libotao$ ruby -v ruby 2...

2018-12-21 21:14:18

pod install vs. pod update (心得总结)

坦白承认,用了CocoaPods快半年,今天才真正搞清楚pod install和pod update这两个命令的用法。具体的用法可以参考我在另一篇文章中翻译的官网介绍《pod install vs. pod update(原文翻译)》。这篇文章是我自己实践理解后的心得总结。换个角度,从使用场景来介绍这两个命令的不同。 1  pod install 的使用场景: 1.1 新创建工程,第一次引入...

2018-12-20 17:58:26

最新cocoapods详细安装

安装起源 那么开始前先说下故事情节,看个小电影都喜欢有剧情的哈,

2018-12-20 16:39:30

C++函数的哑元及其作用

一个函数的参数 只有类型 没有名字 则这个参数称之为哑元。 哑元的作用 1.表达参数列表匹配更加严格 void test(void); 2.保持函数的向前兼容特性 void code(int key);//老版本函数 code(1234); void code(int);//从新开发新版本函数保持函数的向前兼容特性 3.区分函数 #inclu...

2018-12-19 11:03:19

C++ 如何重载前置++和后置++运算符

注意一下几点:  1、前置++重载时没有参数,而后置++重载时有参数。不会使用其参数,仅仅是区分用。可以理解为前置++后面有参数了,所以不需要参数  2、前置++需要返回引用,因为重载自加运算符后可以返回对象的引用, 以方便在表达式中连续使用。而后置++返回的不是引用,所以不能进行连续使用。 3.后置运算符返回的值是temp,需要注意。因为是后加。 实现代码如下:   #include&...

2018-12-19 10:57:57

寄存器讲解--汇编(32位处理器)

32位处理器  寄存器分为四类:  *通用寄存器*  *段寄存器*  *状态和控制寄存器*  *指令寄存器* 一、通用寄存器 有八个 EAX    累加和结果寄存器 EBX    数据指针寄存器 ECX    循环计数器 EDX    i/o指针 ESI    源地址寄存器          ---------低16位用SI 表示 EDI    目的地址寄存器      ---------...

2018-12-13 12:00:42

EAX、ECX、EDX、EBX寄存器的作用

一般寄存器:AX、BX、CX、DX AX:累积暂存器,BX:基底暂存器,CX:计数暂存器,DX:资料暂存器 索引暂存器:SI、DI SI:来源索引暂存器,DI:目的索引暂存器 堆叠、基底暂存器:SP、BP SP:堆叠指标暂存器,BP:基底指标暂存器 EAX、ECX、EDX、EBX:為ax,bx,cx,dx的延伸,各為32位元 ESI、EDI、ESP、EBP:為si,di,sp,bp的延伸,32位元...

2018-12-13 11:50:30

函数调用--函数栈

函数调用大家都不陌生,调用者向被调用者传递一些参数,然后执行被调用者的代码,最后被调用者向调用者返回结果,还有大家比较熟悉的一句话,就是函数调用是在栈上发生的,那么在计算机内部到底是如何实现的呢?   对于程序,编译器会对其分配一段内存,在逻辑上可以分为代码段,数据段,堆,栈 代码段:保存程序文本,指令指针EIP就是指向代码段,可读可执行不可写 数据段:保存初始化的全局变量和静态变量,可读...

2018-12-13 11:33:25

VS2008反汇编小解

了解反汇编的一些小知识对于我们在开发软件时进行编程与调试大有好处,下面以VS2008环境下的VC++简单介绍一下反汇编的一些小东西!如果有些解释有问题的地方,希望大家能够指出。 1、新建简单的VC控制台应用程序(对此熟悉的同学可以略过) A、打开Microsoft Visual Studio 2008,选择主菜单“File” B、选择子菜单“New”下面的“Project”,打开“New...

2018-12-12 20:18:39

AMFObject数据格式详解

AMF   AMF是Action Message Format(动作消息格式)的简写,它是一种二进制的数据格式。它的设计是为了把actionscript里面的数据(包括Object, Array, Boolean, Number等)序列化成二进制数据,然后把这段数据随意发送给其他接收方程序,比如发给远程的服务器,在远程服务器那边,可以把这段数据给还原出来,以此达到一个数据传输的作用。 为什么要...

2018-11-29 15:15:26

gradle学习笔记(二) Groovy基础

前言 在 gradle学习笔记(一) 中说到 gradle学习基础: Groovy 和 DSL。所有这篇笔记就学习Groovy。先介绍groovy,然后开始学习步骤(当然主要学gradle用得到的地方)。 简介:  Groovy is a powerful, optionally typed and dynamic language, with static-typing and static...

2018-11-17 19:12:34

gradle学习笔记(一) 构建工具介绍

前言: 在android开发中平常所接触的gradle脚本,配置好了点击run按钮就能编译、打包、安装等等操作,编译出想要的apk,大大方便了开发过程。但是自己对gradle的了解和掌握仅仅只是够用,于是大量查资料开始学习gradle。 这篇笔记主要解释了构建的概念、什么是构建工具,和gradle的基础概念,并清晰解释了学好gradle的必须基础:groovy 和 响应的DSL。 1. 什么...

2018-11-17 18:55:55

huangyimo

关注