原创 android-圓形頭像

現在越來越多的應用都會用到圓形的頭像,這樣會試界面看起來比較美觀,最常用的應用就是QQ了。其實把一張矩形的圖片剪裁爲圓形的圖片原理還是比較簡單的,就是先畫圓然後再繪製圖片,然後取兩個圖形交叉的部分。 public static Bit

原创 android不繼承FragmentActivity實現ViewPager+Fragment(標籤的優化)

現在很多的ViewPager+Fragment都要Activity繼承於FragmentActivity然後Adapter也是要繼承於FragmentPagerAdapter實現的。然後我想想能不能直接用Activity跟PagerAda

原创 svn命令行的使用

之前都是用的可視化來操作項目的管理,沒有去了解一下svn的命令行。這次爲了寫一個svn更新並且選擇服務器版本的腳本命令,所以查看了一下。 svn提供了非常詳細的文檔可以讓我們查看,首先用svn help來看svn有哪些命令: (括

原创 android熱修復

我的熱修復例子是通過鴻洋大神的博客http://blog.csdn.net/lmj623565791/article/details/49883661;裏面的例子來寫的。 關於熱修復在這裏大概的描述一下: 熱修復又叫做動態加載,熱更新,熱

原创 Android M Permission 運行時權限 學習筆記

Android M Permission 運行時權限 學習筆記 從Android 6.0開始, 用戶需要在運行時請求權限, 本文對運行時權限的申請和處理進行介紹, 並討論了使用運行時權限時新老版本的一些處理. Android應用權限簡要

原创 android jar包混淆

公司最近開發了一個SDK供第三方調用,如果只是單純的把代碼導出來弄成一個jar包沒有混淆的話代碼就赤裸的暴露了出來,畢竟是公司項目,要本着爲公司保密,爲公司着想的態度。。。嗯,就是這樣(其實是別人指出來的。。)我去網上看了很多資料,然後自

原创 android Volley的源碼分析

      Volley是一個用途非常廣泛的框架,經常運用在頻繁的請求網絡的應用中,封裝的非常好,而且調用非常簡單。就幾行代碼就可以搞定了。今天沒有

原创 Installation error: INSTALL_CANCELED_BY_USER

小米手機突然系統更新了一下,然後我又一直用的是真機測試,今天突然用手機調試的時候出了這個問題Installation error: INSTALL_CANCELED_BY_USER,百度了一下解決方法幾乎都是 .在手機上,勾選 系統設置-

原创 Android-用apktool實現多渠道自動打包

因爲項目當中需要對apk的AndroidManifest.xml文件當中的meta-data中的數據進行更新跟替換,如果用其他方式打包的話非常麻煩,然後在網上找了一個教程實現一段代碼就可以自動打包,簡單而且粗暴。這個是原文:http://

原创 android-下拉更多列表

現在很多的登錄界面都有記住賬號的的這個功能,在點擊輸入賬號的時候會出現一個列表供用戶選擇。點擊其中的條目後會自動把信息填充到文本框當中。 然後我用PopupWindow組件實現了一個點擊更多按鈕實現更多列表的一個功能,這個下拉更多列表的效

原创 cocos2d-js側滑菜單SlidingMenu

效果: 代碼: 可以自己添加標題與item var SlidingMenu = cc.LayerColor.extend({ MOVE_TIME: 0.5, //移動的事件

原创 cocos2d-js自定義CheckBox

這是我自定義CheckBox的效果圖: 整個CheckBox不復雜、就是繼承於Sprite然後由三個精靈、加上一些動作跟監聽組成 代碼如下: var CheckBox = cc.Sprite.extend({ sliderFra

原创 cocos2d-js的自定義事件的兩種創建方法

自定義事件是當其它事件不滿足用戶的時候可以自己定義。像傳遞值或者對象。 我們都知道創建一個監聽器無非就是兩個步驟:一是創建Listener,二是添加到eventManage上。但是EventCustom多了一個需要自己調度 dispatc

原创 android-多渠道自動打包之一秒五包

現在的渠道越來越多了,然後在打包的這個問題上要暫用非常多的時間,所以我也總結出了一篇關於自動打包的博文http://blog.csdn.net/a641832648/article/details/52163493 但是,apktool

原创 cocos2d-js銷燬計時器

cocos2d-js的定時器的創建跟使用: 情況一:var TestLayer = cc.Layer.extend({ sprite:null, ctor:function () { this.schedu