让胜加1软件开发是什么意思思;开发遇到的问题怎么解决?

小知识(159)
1、@try @catch @finally 的用途是?
& & & 答:Handling Exception (处理异常) &
2、如何用GCD创建一个单例方法?
& & & 答:+ (SVProgressHUD*)sharedView&
&&& static dispatch_once_
&&& static SVProgressHUD *sharedV
&&& dispatch_once(&once, ^ { sharedView = [[SVProgressHUD alloc] initWithFrame:[[UIScreen & & &&
& & mainScreen] bounds]]; });
&&& return sharedV
3、多线程下防止单例被同时调用怎么办?
& & & 答:可以加一个线程锁 & @synchronized(self) &或 NSLock&
4、枚举如何定义?
& & & 答:
亦可以如下定义(推荐:结构比较清晰):
枚举的定义还支持位运算的方式定义,如下:
等于号后面必须等于1
5、动态加载xib?
& & &答:self.view = [[[NSBundle mainBundle]loadNibNamed:@&RecommednViewController& owner:self options:nil]lastObject]; 同时需要关联xib为该controller
6、if else 与 switch case 区别??
& & &答:if-else结构中,条件判断部分可以是任何符合语法的表达式。switch-case结构中,switch括号中以及case右边的表达式必须是表达式。如果条件判断所用的表达式并非,那么不能用switch-case,只能用if-else。
7、GoogleMaps常用的类?
GMSCameraPosition (确定即将呈现地图的位置)
& & & & & & &GMSMapView (地图视图)
& & & & & & &GMSMapViewDelegate &(代理)
& & & & & & &GMSMutablePath &(点与点之间的路径)
& & & & & & &GMSPolyline &(呈现路径的线条)
& & & & & & &GMSMarker & (地图上的小icon)
& & & & & & &CLLocationDegrees (封装坐标点)
&&&&&&&&&&
CLLocation (坐标)
& & & & & & &CLGeocoder (通过坐标来进行城市解码)
& & & & & & &CLPlacemark &(储存的城市信息)
& & & & & & &CLLocationManager &
8、RunLoop 的使用,如何阻塞当前线程??
&&&&&答:NSRunLoop * asyRunLoop=[NSRunLoop currentRunLoop];
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&& while (pause)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&& [asyRunLoop runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&& }
9、iOS autoresizingMask与autoLayout的区别?
& & &答:autoresizingMask是子视图的左、右、上、下边距以及宽度和高度相对于父视图按比例变化
& & & & & &&UIViewAutoresizingNone (不自动调整)
& & & & & &&
& & & & & &autoLayout是子视图相对于某个视图(可以是父视图也可以是同级兄弟视图)的位置,在屏 & &&
& & & & & &幕尺寸发生变化时,相对位置保持不变
& & & & & &//在页面水平居中显示按钮。
& & & & &[self.viewaddConstraint: [NSLayoutConstraintconstraintWithItem:self.btn
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& attribute:NSLayoutAttributeCenterX
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& relatedBy:NSLayoutRelationEqual
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& toItem:self.view
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& attribute:NSLayoutAttributeCenterX
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& multiplier:1.0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& constant:0]];
10、如何实现微信摇一摇功能?
&&&&& 答:AVAudioSession *audioSession = [AVAudioSession sharedInstance];
&&& [audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error:NULL];
& & player=[[AVAudioPlayer alloc] initWithContentsOfURL:soundUrl error:nil];
&&& [player prepareToPlay];
&&& player.volume = .8;
&&& [player play];
11、图片移动的动画效果?
& & &答://让imagdown上下移动
&&& CABasicAnimation *translation = [CABasicAnimation animationWithKeyPath:@&position&];
&&& translation.timingFunction = [CAMediaTimingFunction & & &
& & &functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
&&& translation.fromValue = [NSValue valueWithCGPoint:CGPointMake(160, 345)];
&&& translation.toValue = [NSValue valueWithCGPoint:CGPointMake(160, 420)];
&&& translation.duration = 0.5;
&&& translation.repeatCount = 1;
&&& translation.autoreverses = YES;
& & [_imgDown.layer addAnimation:translation forKey:@&translation&];
11、如何适配IOS6.0 和IOS7.0 ,以及3.5inch 和4.0inch的屏幕?
&&&&&答:&&&
&&& int width = [[UIScreen mainScreen] bounds].size.
&&& int height = [[UIScreen mainScreen] bounds].size.
&if (IOS7_EARLY) {
&&&&&&& _myTabelview = [[UITableView alloc] initWithFrame:CGRectMake(0, 0 , width , height - 64 - 49 ) style:UITableViewStyleGrouped];
&&& _myTabelview = [[UITableView alloc] initWithFrame:CGRectMake(0, 64 , width , height &- 64 -49) style:UITableViewStyleGrouped];&
&&& UIView *bgView = [[UIView alloc]initWithFrame:[UIScreen mainScreen].bounds];
&if (IOS7_EARLY) {
&&&&&&& _myTabelview = [[UITableView alloc] initWithFrame:CGRectMake(0, 0 , 320, CGRectGetHeight(bgView.frame)- 64 - 49 ) style:UITableViewStyleGrouped];
&&& _myTabelview = [[UITableView alloc] initWithFrame:CGRectMake(0, 64 , 320, CGRectGetHeight(bgView.frame) - 64 -49) style:UITableViewStyleGrouped];
12、静态方法和实例化方法的区别??
& & &答:&从线程安全、性能、兼容性上来看 也是选用实例化方法为宜。
& & &早期的结构化编程,几乎所有的方法都是“静态方法”,引入实例化方法概念是面向对象概念出现以后的事情了,区分静态方法和实例化方法不能单单从性能上去理解,创建c++,java,c#这样面向对象语言的大师引入实例化方法一定不是要解决什么性能、内存的问题,而是为了让开发更加模式化、面向对象化。这样说的话,静态方法和实例化方式的区分是为了解决模式的问题。
拿别人一个例子说事:
比如说“人”这个类,每个人都有姓名、年龄、性别、身高等,这些属性就应该是非静态的,因为每个人都的这些属性都不相同;但人在生物学上属于哪个门哪个纲哪个目等,这个属性是属于整个人类,所以就应该是静态的——它不依赖与某个特定的人,不会有某个人是“脊椎动物门哺乳动物纲灵长目”而某个人却是“偶蹄目”的。
13、如何一次性将NSLog语句移除?
& & &答:在-Prefix.pch文件中加入以下代码:
#ifdef DEBUG
#&&& define DLog(...) NSLog(__VA_ARGS__)
#&&& define DLog(...) /* */
#define ALog(...) NSLog(__VA_ARGS__)
14、typedef void (*comm_callback)(char*, int, void*); 是什么意思 ?
& & & 答:定义一个函数指针类型comm_callback
这个函数类型是这样:返回值void 参数:char*,int,void*
可以直接使用comm_callback定义一个函数指针
如:comm_callback pF
&(函数指针右左法则)
15、双向链表是怎样的?
&&&&& 答:线性表的双向链表存储结构
typedef struct DuLNode
struct DuLNode *prior,*
}DuLNode,*DuLinkL
16、正则表达式??
& & & 答:NSString *phoneRegex = @&^((13[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$&;
& & & & & & & NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@&SELF MATCHES & & & & &&
& & & & & & & &%@&,phoneRegex];
& & & & & & & return [phoneTest evaluateWithObject:mobile];
17、键盘的显示和隐藏,动画效果?
& & &答:const float movementDuration = .3f;
&&& [UIView beginAnimations:@&anim& context:nil];
&&& [UIView setAnimationBeginsFromCurrentState:YES];
&&& [UIView setAnimationDuration:movementDuration];
& & &//一个动画的运动随时间快慢曲线&&
& & [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];&&
& & &//动画方式&
& & [UIView setAnimationTransition:UIViewAnimationOptionTransitionCurlUp forView:self.view cache:YES]; &
&&& view.frame = CGRectOffset(view.frame, 0, distance);
&&& [UIView commitAnimations];
18、textView高度自适应??
& & &答:IOS6 可用contentSize.height 来自适应,但是不适用于IOS7
& & & & & & IOS7 &的方法如下:
- (CGSize)contentSizeOfTextView:(UITextView *)textView
&&& CGSize textViewSize = [textView sizeThatFits:CGSizeMake(textView.frame.size.width, FLT_MAX)];
&&& return textViewS
19、NSClassFromString 和 NSSelectorFromString 的区别??
NSClassFromString
NSSelectorFromString
正常来说,
id myObj = [[NSClassFromString(@&MySpecialClass&) alloc] init];
id myObj = [[MySpecialClass alloc] init];
是一样的。但是,如果你的程序中并不存在MySpecialClass这个类,下面的写法会出错,而上面的写法只是返回一个空对象而已。
因此,在某些情况下,可以使用NSClassFromString来进行你不确定的类的初始化。
比如在iPhone中,NSTask可能就会出现这种情况,所以在你需要使用NSTask时,最好使用:
[[NSClassFromString(@&NSTask&) .....]]
而不要直接使用[NSTask ...]这种写法。
NSClassFromString的好处是:
1 弱化连接,因此并不会把没有的Framework也link到程序中。
2 不需要使用import,因为类是动态加载的,只要存在就可以加载。
20、CATransaction 的用处??
& & &答:CATransaction 事务类,可以对多个layer的属性同时进行修改.它分隐式事务,和显式事务
& & & &[CATransaction begin];
& & & &[CATransaction setAnimationDuration:3.f];& // 3 second animation
& & & &GMSCameraPosition *camera =
& & & & & &[[GMSCameraPosition alloc] initWithTarget:marker.position
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& zoom:8
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& bearing:50
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& viewingAngle:60];
& & & &[mapView animateToCameraPosition:camera];
& & & &[CATransaction commit];
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:133000次
积分:1973
积分:1973
排名:千里之外
原创:37篇
转载:182篇
(1)(2)(2)(4)(4)(2)(9)(7)(3)(6)(7)(1)(3)(6)(9)(14)(6)(7)(12)(3)(6)(25)(12)(4)(1)(2)(1)(3)(3)(4)(7)(6)(12)(4)(22)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'面试时,问哪些问题能试出一个 Android 应用开发者真正的水平? - 知乎3674被浏览179717分享邀请回答/r/6kxxaWbEHztgrSIK9xn4 (二维码自动识别)71462 条评论分享收藏感谢收起39697 条评论分享收藏感谢收起查看更多回答3 个回答被折叠()软件工程第一二三章习题参考答案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
软件工程第一二三章习题参考答案
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩5页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢2360人阅读
Android UI(2)
android(31)
1、android&Activity跳转黑屏、白屏或闪屏
这是因为我们在styles文件里给Activity添加里跳转动画,而有些手机判断这个的时候会出问题,导致黑屏、白屏或闪屏。
styles文件里动画置null
&style name=&Theme& parent=&android:Theme&&
&item name=&android:windowBackground&&@android:color/transparent&/item&
&item name=&android:windowIsTranslucent&&true&/item&
&style name=&Animation&&
&item name=&android:activityOpenEnterAnimation&&@null&/item&
&item name=&android:activityOpenExitAnimation&&@null&/item&
&item name=&android:activityCloseEnterAnimation&&@null&/item&
&item name=&android:activityCloseExitAnimation&&@null&/item&
&item name=&android:taskOpenEnterAnimation&&@null&/item&
&item name=&android:taskOpenExitAnimation&&@null&/item&
&item name=&android:taskCloseEnterAnimation&&@null&/item&
&item name=&android:taskCloseExitAnimation&&@null&/item&
&item name=&android:taskToFrontEnterAnimation&&@null&/item&
&item name=&android:taskToFrontExitAnimation&&@null&/item&
&item name=&android:taskToBackEnterAnimation&&@null&/item&
&item name=&android:taskToBackExitAnimation&&@null&/item&
然后在AndroidManifest文件的activity添加主题android:theme=&@style/Theme&。
2、android&集成支付宝移动支付SDK,在未安装支付宝钱包的情况下,报错4000
支付宝sdk,肯定是有判断是否安装了支付宝钱包逻辑的,如果未安装支付宝钱包,需要跳转到网页版支付页面
在AndroidManifest.xml 文件中配置如下代码:
&!-- 支付宝支付 Web版本 --&
android:name=&com.alipay.sdk.app.H5PayActivity&
android:configChanges=&orientation|keyboardHidden|navigation&
android:exported=&false&
android:screenOrientation=&behind&
android:windowSoftInputMode=&adjustResize|stateHidden& &
&/activity&
android:name=&com.alipay.sdk.auth.AuthActivity&
android:configChanges=&orientation|keyboardHidden|navigation&
android:exported=&false&
android:screenOrientation=&behind& &
&/activity&
3、android&如何直接使用系统自带浏览器下载文件
简单的apk升级功能,若有新版本,跳转浏览器下载即可,但是往往手机上安装了多款浏览器,会跳出选择浏览器界面,如果默认就只用系统自带的浏览器呢 就不会弹出选择界面
Intent intent = new Intent();
intent.setAction(&android.intent.action.VIEW&);
Uri content_url = Uri.parse(&&);
intent.setData(content_url);
intent.setClassName(&com.android.browser&,&com.android.browser.BrowserActivity&);
startActivity(intent);
4、android&H5使用GPS定位
当然是没有编写对应的代码喽
设置 WebSettings 和&WebChromeClient
webSettings.setDatabaseEnabled(true);
String dir = this.getApplicationContext().getDir(&database&, Context.MODE_PRIVATE).getPath();
// 启用地理定位
webSettings.setGeolocationEnabled(true);
// 设置定位的数据库路径
webSettings.setGeolocationDatabasePath(dir);
// 最重要的方法,一定要设置,这就是出不来的主要原因
webSettings.setDomStorageEnabled(true);
// 配置权限
private class MyWebChromeClient extends WebChromeClient
public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback)
callback.invoke(origin, true, false);
super.onGeolocationPermissionsShowPrompt(origin, callback);
5、android&为啥PopupWindow中的ListView的item点击没有效果
当前PopupWindow没有获取到焦点
设置 setFocuable(true)
当然如果设置了这个属性的话 某些手机会有 父类窗口 控件无法点击的问题,所以只能舍弃PopupWindow
使用其他方法
如:自定义View显示\隐藏
加上动画 效果和PopupWindow一样一样的 但是没有那么多的事情
6、android&普通的ListView中的Item无法点击
子控件中 有如ImageButton、Button、CheckBox等有强占焦点的控件,把焦点获取了
在Item布局的根布局加上
android:descendantFocusability=&blocksDescendants&
或者在给其他控件就加上
android:clickable=&false&
android:focusable=&false&
android:focusableInTouchMode=&false&
7、android&WebView中的输入框无法输入数字或字母
1、一个Activity有多个WebView, 导致焦点混乱,或者如:
2、setOnKeyListener方法写的不规范导致,输入法里面的按钮 也是走 onKey监听的
1、修改对应WebView的setOnTouchListener方法,如下:
// 解决输入框不能输入的bug
mWebView.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_UP:
v.requestFocusFromTouch();
case MotionEvent.ACTION_MOVE:
case MotionEvent.ACTION_CANCEL:
2、规范setOnKeyListener方法,如下:
webview.setOnKeyListener(new OnKeyListener(){
public boolean onKey(View v, int keyCode, KeyEvent event){
if (event.getAction() == KeyEvent.ACTION_DOWN){
if (keyCode == KeyEvent.KEYCODE_BACK){
cwGoBack();
else{ // 这个一定要写
8、android&ViewPager嵌套后子ViewPager不能滑动
嵌套子ViewPager的滑动事件被父ViewPager拦截
重写父ViewPager,并在父ViewPager重载onInterceptTouchEvent方法,并返回false
public boolean onInterceptTouchEvent(MotionEvent motionEvent)
9、android&WebView不能上传文件或头像的问题
android webview在默认情况下本来就是不支持网页中的文件上传功能的
设置WebChromeClient,在WebChromeClient的实现类中覆盖文件选择的方法
&如果使用了Cordova 需要设置CordovaChromeClient 奇怪的是&Cordova 已经做了相关操作,但是ValueCallback为null
所以有问题
参考:&/article/ab0bb8c15afa7da4.html
&http://www./lib/view/open1.html
* requestCode
public static final int FILECHOOSER_RESULTCODE_N = 5173;
* 返回的Uri
public ValueCallback&Uri& mUploadMessage_n;
* 自定义WebChromeClient 覆写openFileChooser方法
private class MyChromeClient extends WebChromeClient
// js上传文件的&input type=&file& name=&fileField& id=&fileField& /&事件捕获
// Android & 4.1.1 调用这个方法
public void openFileChooser(ValueCallback&Uri& uploadMsg, String acceptType, String capture)
mUploadMessage_n = uploadM
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType(&image/*&);
startActivityForResult(Intent.createChooser(intent, &完成操作需要使用&), FILECHOOSER_RESULTCODE_N);
// 3.0 + 调用这个方法
public void openFileChooser(ValueCallback&Uri& uploadMsg, String acceptType)
mUploadMessage_n = uploadM
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType(&image/*&);
startActivityForResult(Intent.createChooser(intent, &完成操作需要使用&), FILECHOOSER_RESULTCODE_N);
// Android & 3.0 调用这个方法
public void openFileChooser(ValueCallback&Uri& uploadMsg)
mUploadMessage_n = uploadM
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType(&image/*&);
startActivityForResult(Intent.createChooser(intent, &完成操作需要使用&), FILECHOOSER_RESULTCODE_N);
* onActivityResult
protected void onActivityResult(int requestCode, int resultCode, Intent intent)
super.onActivityResult(requestCode, resultCode, intent);
if (requestCode == FILECHOOSER_RESULTCODE_N)
Log.d(TAG, &did we get here?&);
if (null == mUploadMessage_n)
Uri result = intent == null || resultCode != Activity.RESULT_OK ? null : intent.getData();
Log.d(TAG, &result = & + result);
mUploadMessage_n.onReceiveValue(result);
mUploadMessage_n =
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:111413次
积分:1265
积分:1265
排名:千里之外
原创:28篇
转载:13篇
评论:227条
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
威锋网7月10日消锋网7月10日消息,《植物大战僵尸2》 如今...
威锋网7月10日消息,《植物大...
近日,开发商 Esquilax Games ..
说到方块游戏,相信有很多朋友应该还会记得 Gavina Games 早...
威锋网7月10日消息,《植物大...
近日,开发商 Esquilax Games ..
说到方块游戏,相信有很多朋友应该还会记得 Gavina Games 早...
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
再吸金!SE推出《最终幻想:全员勇者》钥匙扣
您需要通过验证再能继续浏览 3秒后开始验证
威锋旗下产品
Hi~我是威威!
 粤公网安备 11号
新三板上市公司威锋科技(836555)
增值电信业务经营许可证:
Powered by Discuz!}

我要回帖

更多关于 化妆水什么意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信