八月工作总结

1.Gerrit使用 2012-08-29

 

1:git的一些相关资料,大家可以从\\192.168.80.90\dropbox\gittools 中获取。

2:Gerrit的测试环境为http://192.168.80.13:8080

另外之前写了一些git的shell脚本,请见\\192.168.80.90\dropbox\gittools\gitShell,此目录的脚本使用方法如下:

1:ga = git add

   可以同时添加多个文件,例如:ga a.txt b.txt c.tx

2:gc = git commit--signedoff -m "xxxx"

   提交命令,必须输入一个日志消息参数,例如:gc "log message"

3:glog = git log

   显示日志命令,可以接收参数,参数为git log命令的参数,例如:glog --oneline -3

4:gu = git pull

   代码更新命令,更新当前分支,例如:gu

5:gunrm = git checkout-- file

   恢复删除的文件命令,例如:gunrm file

6:gt = git status

   显示当前环境状态的信息,可以接收参数,参数为git status命令的参数,例如:gt --short

8:gp = git push originHEAD:refs/for/master

   提交代码到Gerrit上,创建Gerrit中的评审任务

9:gmcf 与gccf 是处理Gerrit上冲突的脚本,使 用方法如下:

           在Gerrit中提交产生冲突时,一般会由到类似如下内容的邮件

                    

     记下上图红色框中的内容,http://192.168.80.13:8080/125中的125即Gerrit中的代码评审任务ID,Gerrit-PatchSet: 1是指提交的补丁集编号,记录下这两个值。

   先执行gmcf 脚本,传入两个参数,将产生冲突的版本合并到本地的master分支上面,为解决冲突做准备,

       使用方法:gmcf   ${Gerrit中评审任务的编号}   ${评审任务中Gerrit-PatchSet的编号}

  然后手工编辑文件,解决文件内容的冲突

 最后执行gccf脚本,传入两个参数,使用方法:gccf  ${Gerrit中评审任务的编号}   ${评审任务中Gerrit-PatchSet的编号}

        这个脚本将解决冲突的版本重新提交到Gerrit服务器上

 

2.FM feature总结 2012-08-10

         

1)旋钮功能技术小结

旋钮功能的实现花费较多时间,主要时间花在几何公式的修改上。

1.1)

          Motionevent与view都有关于取得触摸点坐标的函数,以及其他相关一些函数。这些都比较容易混淆,下图是表明了它们的区别。         

          

 

1.2)

手指触碰点,图片按钮中心,与系统描绘该图片按钮三者关系如下。

 

Fm主界面如下

 

 

图中红点就是图片按钮,为了使得在手指拖动该按钮时,其所在的位置指向的刻度就刚好是频道名称所示的刻度,必须处理好这三者的关系。

原则就是,图片按钮中点需要对准刻度尺,而不是图片按钮左上角对准刻度尺。同时保证红点只能在制定半径的圆周上运动。

 

首先必须将x、y,这个相对于屏幕左上角点,以及xx、yy,这个相对于图片左上角坐标经过运算,获取图片中点的坐标。

 

代码片段如下:

 

                    int x = (int) event.getRawX(); 

                    int y = (int) event.getRawY();

… …

                                        xx = (int)event.getX();

                                        yy = (int)event.getY();

… …

 Point centerPoint = new Point(x - xx +v.getWidth() / 2,

                                                  y - yy + v.getHeight() / 2);

 

接着需要算出该制定半径是多少,该半径介于大小圆半径之间。

 double l =Math.hypot((double)(centerPoint.x - CENTER_OF_RING_X),

                                                  (double)(centerPoint.y -CENTER_OF_RING_Y));

 

再接着通过以下判断手指触碰的点在允许范围内,以保证不能让红点超出罗盘范围。

checkIfPointerCanMove(centerPoint.x,centerPoint.y,l)

 

接着调用computeRealPointerLocate,根据centerPoint以及制定半径算出红点真实位置。

Point point = computeRealPointerLocate(centerPoint.x,centerPoint.y,l);

 

在根据该位置算出位置所在表示的频道。

该频道不能超过频道范围。

最后将将其layout出来,注意此时的红点左上角坐标。

 


4.关于wakelock 2012-8-24

      持有wakelock按如下方法

用PowerManager的aquire是持有 然后release是释放。

      Wakelock的作用是,当一个apk持有wakelock时,系统会在睡眠时将其杀掉。

 

5.前段时间的FM完善总结 2012-08-24

 

1)

使得状态栏显示应用的图标

 

              例如,我想在FM的录音时,在状态栏显示录音的图标,可以在录音开始时使用如下代码。

 

                            notificationManager =(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);

                            Notification notification = newNotification(R.drawable.recorder,

                                          getResources().getText(R.string.status_recording),0);

                    Intent intent = new Intent(this,FMRadio.class);

                                  intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);

                                  PendingIntent contentIntent =PendingIntent.getActivity(this, 0, intent, 0);

                                  notification.setLatestEventInfo(this, 

                                                                                                                                 getResources().getText(R.string.status_recording),

                                                                                                                                  null, contentIntent);

                            notification.flags =Notification.FLAG_ONGOING_EVENT;

                            notificationManager.notify(0,notification);

 

           在停止录音时,使用如下代码。

              if(null != notificationManager)

                         notificationManager.cancel(0);


8.关于做feature

 

在做新feature时,应该详细将功能讨论好,再去执行。避免因为讨论不到位,导致功能理解不到位,从而浪费开发的精力。

开发feature过程中,出现问题,也应及时讨论。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值