當前位置:首頁 » 安卓系統 » facebooksdkandroid

facebooksdkandroid

發布時間: 2022-08-10 10:45:02

① sdk跟api的區別是什麼

1、組成不同:

sdk軟體開發工具包括廣義上指輔助開發某一類軟體的相關文檔、範例和工具的集合。API(應用程序介面)是一些預先定義的函數,或指軟體系統不同組成部分銜接的約定。

2、用途不同:

api目的是提供應用程序與開發人員基於某軟體或硬體得以訪問一組常式的能力,而又無需訪問源碼,或理解內部工作機制的細節。軟體開發工具包一般都是一些軟體工程師為特定的軟體包、軟體框架、硬體平台、操作系統等建立應用軟體時的開發工具。

3、內容不同:

為了使用API函數,就要有跟API所對應的 .h和 .lib文件,而SDK正是提供了一整套開發Windows應用程序所需的相關文件、範例和工具的「工具包」。SDK包含了使用API的必需資料,所以也常把僅使用API來編寫Windows應用程序的開發方式叫做「SDK編程」。

② android中 如何清理webview緩存

一、清除cookie

public static void clearCookies(Context context) {
// Edge case: an illegal state exception is thrown if an instance of
// CookieSyncManager has not be created. CookieSyncManager is normally
// created by a WebKit view, but this might happen if you start the
// app, restore saved state, and click logout before running a UI
// dialog in a WebView -- in which case the app crashes
@SuppressWarnings("unused")
CookieSyncManager cookieSyncMngr =
CookieSyncManager.createInstance(context);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.removeAllCookie();
}

這是facebook sdk的源碼,我不知道第一句到底起了什麼作用?

二、清除webview緩存,查看root過的手機data下的文件,會發現有這個東西:webview命名的東西

刪除保存於手機上的緩存.

// clear the cache before time numDays
private int clearCacheFolder(File dir, long numDays) {
int deletedFiles = 0;
if (dir!= null && dir.isDirectory()) {
try {
for (File child:dir.listFiles()) {
if (child.isDirectory()) {
deletedFiles += clearCacheFolder(child, numDays);
}
if (child.lastModified() < numDays) {
if (child.delete()) {
deletedFiles++;
}
}
}
} catch(Exception e) {
e.printStackTrace();
}
}
return deletedFiles;
}

打開關閉使用緩存
//優先使用緩存:
WebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);

//不使用緩存:
WebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);

在退出應用的時候加上如下代碼
File file = CacheManager.getCacheFileBaseDir();
if (file != null && file.exists() && file.isDirectory()) {
for (File item : file.listFiles()) {
item.delete();
}
file.delete();
}

context.deleteDatabase("webview.db");
context.deleteDatabase("webviewCache.db");

發現這個問題,一個朋友在iteye上問的:

Android的CookieManager只提供了removeAllCookies方法,用來刪除所有的cookie,有什麼辦法只刪除和特定url關聯的cookie呢?本來打算使用setCookie(url, value)將指定url關聯的cookie設為空串,但試了一下發現這個方法只是在已有的基礎上繼續添加cookie,並不能重置已有的cookie。

有朋友給打答案:

/**
* 同步一下cookie
*/
public static void synCookies(Context context, String url) {
CookieSyncManager.createInstance(context);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
cookieManager.removeSessionCookie();//移除
cookieManager.setCookie(url, cookies);//指定要修改的cookies
CookieSyncManager.getInstance().sync();
}

③ android app開發中常用到哪些開源框架

在前面的課程中,隨著對Android體系的了解,已經可以進行正常的Android應用開發了。在Android開發中,同其他工程開發一樣,也經常使用一些提高效率的框架,本文我們做一個對比。這些框架,既包括:網路請求框架、也包括圖片載入庫框架、還包括資料庫操作等一些框架,總之,了解和熟悉這些框架,會對自己的開發效率有很大的提升和幫助。

網路請求框架

1、okHttp

在前文的學習中,我們已經了解過okHttp,是一個常用的網路載入庫。

2、Retrofit

介紹

Retrofit是一個很不錯的網路請求庫,該庫是square開源的另外一個庫,之前的okhttp也是該公司開源的。

Retrofit是基於OkHttp封裝的RESTful網路請求框架,使用註解的方式配置請求。優點是速度快,使用註解,callback函數返回結果自動包裝成java對象。官方自己的介紹說:

A type-safe REST client for Android and Java

該網路框架在github上的地址如下:https://square.github.io/retrofit/

要求

Retrofit支持的http方式方式包括 GET/POST/PUT/DELETE/HEAD/PATCH,Retrofit要求Java的版本是1.8+,Android應用的API版本應該在21+。

依賴

使用Retrofit庫,和其他庫一樣,首先需要設置依賴,依然是在build.gradle文件中設置依賴:

//添加retrofit庫依賴

implementation 『com.squareup.retrofit2:retrofit:2.1.0』

//添加gson轉換器

implementation 『com.squareup.retrofit2:converter-gson:2.1.0』

使用

通過一個例子,我們可以來演示該框架的使用步驟:

1、定義請求介面,即程序中都需要什麼請求操作
public interface HttpServices {

/**

  • 獲取頭條新聞

  • @param type 新聞類型

  • @param key apiKey

  • @return

  • */

    @GET(「toutiao/index」)

    Call getNewsList(@Query(「type」) String type, @Query(「key」) String key);

    }

    2、實例化Retrofit對象,使用的Builder的模式創建,如下代碼所示:
    Retrofit retrofit = new Retrofit.Builder()

    .baseUrl(Constants.BASE_API)

    .addConverterFactory(GsonConverterFactory.create())

    .build();

    注意,這里設置結構體轉換器,是可以直接把網路請求回來的數據轉換為Java結構體,這里設置的Gson解析器,因此要引入相應的轉換器支持庫。

    3、得到介面對象,自己創建的全局的介面對象,並調用相應的介面,得到一個類似於請求Call對象。如下所示:
    HttpServices httpServices = retrofit.create(HttpServices.class);

    Call newsListCall = httpServices.getNewsList(「top」, Constants.API_KEY);

    4、加入到請求隊列中,並設置回調方法:
    newsListCall.enqueue(new Callback() {

    @Override

    public void onResponse(Call call, Response response) {

    //網路請求成功的回調方法

    List list = Arrays.asList(response.body().result.data);

    Log.i(「TAG」, 「請求成功:」 + String.valueOf(list.size()));

    NewListAdapter adapter = new NewListAdapter(RetrofitActivity.this);

    adapter.setmData(list);

    mRecyclerView.setAdapter(adapter);

    }

    @Override

    public void onFailure(Call call, Throwable throwable) {

    //網路請求失敗的回調方法

    Log.i(「TAG」, 「請求失敗:」 + throwable.getMessage());

    }

    });

    其他界面操作和之前的Android中的內容一致。

    3、RxJava

    簡單來說,用來處理事件和非同步任務,在很多語言上都有實現,RxJava是Rx在Java上的實現。

    原理

    RxJava最基本的原理是基於觀察者模式來實現的。通過Obserable和Observer的機制,實現所謂響應式的編程體驗。

    特點

    RxJava在編程中的實現就是一種鏈式調用,做了哪些操作,誰在前誰在後非常直觀,邏輯清晰,代碼維護起來非常輕松。

    RxJava也是一個在github上的庫,githubhttp://www.xingkongmj.com/news/id/62.html地址如下:https://github.com/ReactiveX/RxJava

    基於此,還有一個RxAndroid,github地址如下:https://github.com/ReactiveX/RxAndroid

    RxJava和RxAndroid的關系

    RxAndroid是RxJava的一個針對Android平台的擴展,主要用於 Android 開發。

    基本概念

    RxJava 有四個基本概念:

    Observable:可觀察者,即被觀察者Observer:觀察者subscribe:訂閱事件
    這四個概念之間的邏輯關系是:Observable和Observer通過subscribe方法實現訂閱關系,從而Observable可以在需要的時候發出事件來通知Observer。

    事件

    RxJava 的事件回調方法主要包含以下幾個:

    onNext:普通的事件onCompletedhttp://dachang.net/432717.html:事件隊列完結。RxJava 不僅把每個事件單獨處理,還會把它們看做一個隊列。RxJava 規定,當不會再有新的 onNext 發出時,需要觸發 onCompleted 方法作為標志。:事件隊列異常。在事件處理過程中出異常時, 會被觸發,同時隊列自動終止,不再允許再有事件發出。在一個正確運行的事件序列中, onCompleted和 有且只有一個,並且是事件序列中的最後一個。需要注意的是,onCompleted() 和 () 二者也是互斥的,即在隊列中調用了其中一個,就不應該再調用另一個。
    資料庫操作框架

    在開發時,本地資料庫可以起到緩存數據和存儲業務數據的作用,隨著技術的成熟,不斷推出了有很多關於資料庫的操作框架。比較常見的資料庫操作框架有諸如:GreenDao,OrmLite 和 ActiveAndroid,DBFlow等。

    GreenDAO

    GreenDAO是一個開源的 Android ORM(「對象/關系映射」),通過 ORM(稱為「對象/關系映射」),在我們資料庫開發過程中節省了開發時間!

    GreenDao的官方文檔地址如下:http://www.xingkongmj.com/news/id/63.html

    GreenDao的作用

    通過 GreenDao,我們可以更快速的操作資料庫,我們可以使用簡單的面相對象的API來存儲,更新,刪除和查詢 Java 對象。這款資料庫操作框架的特點是:

    高性能,在官方的統計數據中,GreenDao在GreenDao,OrmLite 和 ActiveAndroid三個框架中,讀、寫、更新操作效率均表現第一。易於使用的強大 API,涵蓋關系和連接。內存消耗較小。安全:greenDAO 支持 sqlCipherhttp://www.xingkongmj.com/news/id/64.html,以確保用戶的數據安全;
    核心概念

    GreenDao 的核心類有三個:分別是:

    DaoMaster:保存資料庫對象(SQLiteDatabase)並管理特定模式的 DAO 類(而不是對象)。它有靜態方法來創建表或刪除它們。它的內部類 OpenHelper 和DevOpenHelper 是 SQLiteOpenHelper 實現,它們在 SQLite 資料庫中創建模式。DaoSession:管理特定模式的所有可用 DAO 對象,您可以使用其中一個getter方法獲取該對象。DaoSession 還提供了一些通用的持久性方法,如實體的插入,載入,更新,刷新和刪除。XXXDao:數據訪問對象(DAO)持久存在並查詢實體。對於每個實體,greenDAO 生成DAO。它具有比 DaoSession 更多的持久性方法。Entities:可持久化對象。通常, 實體對象代表一個資料庫行使用標准 Java 屬性(如一個POJO 或 JavaBean )。
    使用

    按照官方的文檔和github上的說明可以實現green的使用。

    首先進行的是依賴,對於greenDao,有兩個地方需要設置,分別是項目根目錄中的 build.gradle,還有mole中的build.gradle。
    classpath 『org.greenrobot:green-gradle-plugin:3.3.0』 // add plugin

    在項目根目錄中的build.gradle目錄中寫這句話的意思是添加greenDao的插件。

    在項目mole中的build.gradle中也需要進行配置,有兩個地方需要設置,如下圖所示:

    apply plugin: 『org.greenrobot.greenhttp://www.xingkongmj.com/news/id/66.html』 //開頭加入該代碼

    dependences{

    implementation 『org.greenrobot:green:3.2.0』

    }

    然後就可以使用了。

    bean實體

    可以在項目中創建自己業務需要的實體類,並通過註解來設置是實體類,欄位約束等內容。然後點擊Android Studio中的Make mole,即可自動生成XXXDao代碼,以此來方便開發者的操作。生成的XXXDao類,不可修改和編輯,是自動生成的。

    ORMLite

    ORMLite框架是另外一款Android開發中可以使用的資料庫操作框架。該框架的文檔地址如下:https://ormlite.com/sqlite_java_android_orm.shtml

    該框架的文檔准備的不是特別友好,此處不再贅述。

    總結,所有的框架原理幾乎都相差不大,只是操作有所差異。

    視圖注入框架

    在Android項目開發過程中,有太多的頁面需要布局完成,同時在代碼中需要些大量的findviewbyid的操作,來實現控制項的解析。於是就有人想能否輕松一些,解放雙手節省時間,干一些其他有意義的事情,於是ButterKnife就來了。

    ButterKnife是一個專注於Android系統的View注入框架,可以減少大量的findViewById以及setOnClickListener代碼,可視化一鍵生成。

    該項目在github上的地址如下:http://www.xingkongmj.com/news/id/65.html

    這個框架的優勢也非常明顯:

    強大的View綁定和Click事件處理功能,簡化代碼,提升開發效率方便的處理Adapter里的ViewHolder綁定問題運行時不會影響APP效率,使用配置方便代碼清晰,可讀性強
    使用

    首先是設置依賴,在build.gradlehttp://dachang.net/432714.html中進行依賴設置:

    implementation 『com.jakewharton:butterknife:10.2.1』

    annotationProcessor 『com.jakewharton:butterknife-compiler:10.2.1』

    需要注意,該框架要求Java環境1.8版本以上,SDK版本在26以上,因此在使用到的mole中的build.graldle文件中,還必須添加如下代碼配置:

    apply plugin: 『com.jakewharton.butterknife』

    android{

    //…

    compileOptions {

    sourceCompatibility JavaVersion.VERSION_1_8

    targetCompatibility JavaVersion.VERSION_1_8

    }

    //…

    }

    另外,還必須在項目根目錄中的build.gradle文件中,添加該框架的插件,如下圖所示:

    dependences{

    classpath 『com.jakewharton:butterknife-gradle-plugin:10.2.1』

    }

    然後即可在代碼中進行使用了。

    在使用該框架的頁面進行綁定諸如,如下所示代碼:

    ButterKnife.bind( this) ;

    主要的功能

    @BindView():控制項id 註解,解放雙手,不用再每個控制項都寫一遍findviewById@BindViews():多個控制項id 的註解,括弧內使用花括弧包括多個id即可,中間用,分割開在Fragment中使用,綁定Fragment。@BindString():綁定字元串@BindArray:綁定數組@BindBitmap:綁定bitmap資源@OnClick、@OnLongClick:綁定點擊事件和長按事件…還有很多
    插件安裝

    如果是頁面很復雜,一個一個寫BindView也很費勁,在Android Studio中,可以安裝一個ButterKnife的插件,安裝該插件後,可以在Studio中直接將對應的布局中的所有控制項均給自動生成。

    注意,在進行自動生成時,滑鼠要放在布局文件上。

    注意事項

    ButterKnife框架在使用時,要求的版本比較高,包括Java的版本也有限制。因此,如果計劃在項目中使用,要提前做好預備工作,以防止對已有項目和業務帶來不必要的麻煩,反而影響工作進度。

④ android開發一般都使用什麼框架

Android開發框架介紹
編輯文檔
學分 +2
開發框架方麵包含基本的應用功能開發、數據存儲、網路訪問這三大塊:
一、應用方面
一般而言一個標準的Android程序由如下4部分組成即Activity、Broadcast Intent Receiver、Service、Content Provider: 1. Activity是最頻繁、最基本的模塊,在Android中,一個Activity就是手機上一屏,相當於一個網頁一樣,所不同的是,每個Activity運行結束了,有個返回值,類似一個函數一樣。Android系統會自動記錄從首頁到其他頁面的所有跳轉記錄並且自動將以前的Activity壓入系統堆棧,用戶可以通過編程的方式刪除歷史堆棧中的Activity Instance。
Activity類中主要是跟界面資源文件關聯起來(res/layout目錄下的xml資源,也可以不含任何界面資源),內部包含控制項的顯示設計、界面交互設計、事件的響應設計以及數據處理設計、導航設計等application設計的方方面面。 2. Broadcast Intent Receiver
Intent提供了各種不同Activity進行跳轉的機制,譬如如果從A activity跳轉到B activity,使用Intent來實現如下: Intent in = new Intent(A.this, B.class); startActivity(in);
BroadcastReceiver提供了各種不同的Android應用程序進行進行進程間通訊的機制,譬如當電話呼叫來臨時,可以通過BroadcastReceiver發布廣播消息。對於用戶而言,BroadcastReceiver是不透明的,用戶無法看到這個事件,BroadcastReceiver通過NotificationManager來通知用戶這些事件發生了,它既可以在資源AndroidManifest.xml中注冊,也可以在代碼中通過Context.registerReceiver()進行注冊,只要是注冊了,當事件來臨的時候,即時程序沒有啟動,系統也在需要的時候會自動啟動此應用程序;另外各應用程序很方便地通過Context.sendBroadcast()將自己的事情廣播給其他應用程序;
3. Service,跟Windows當中的Service完全是一個概念,用戶可以通過startService(Intent service)啟動一個Service,也可通過Context.bindService來綁定一個Service.
4. Content Provider,由於Android應用程序內部的數據都是私有的,Content Provider提供了應用程序之間數據交換的機制,一個程序可以通過實現一個ContentProvider的抽象介面將自己的數據暴露出去,並且隱蔽了具體的數據存儲實現,標準的ContentProvider提供了基本的CRUD(Create,Read,Update,Delete)的介面,並且實現了許可權機制,保護了數據交互的安全性; 一個標準的Android應用程序的工程文件包含如下幾大部分: -> Java源代碼部分(包含Activity),都在src目錄當中;
-> R.java文件,這個文件是Eclipse自動生成與維護的,開發者不需要修改,提供了Android對的資源全局索引; -> Android Library,這個是應用運行的Android庫;
-> assets目錄,這個目錄裡面主要用與放置多媒體等一些文件;
-> res目錄,放置的是資源文件,跟VC中的資源目錄基本類似,其中的drawable包含的是圖片文件,layout裡麵包含的是布局文件,values目錄裡面主要包含的是字元串(strings.xml)、顏色(colors.xml)以及數組(arrays.xml)資源;
-> AndroidManifest.xml,這個文件異常重要,是整個應用的配置文件,在這個文件中,需要聲明所有用到的Activity、Service、Receiver等。

⑤ github 上有什麼價值的android 源碼

1. ActionBarSherlock

ActionBarSherlock應該算得上是GitHub上最火的Android開源項目了,它是一個獨立的庫,通過一個API和主題,開發者就可以很方便地使用所有版本的Android動作欄的設計模式。

對於Android
4.0及更高版本,ActionBarSherlock可以自動使用本地ActionBar實現,而對於之前沒有ActionBar功能的版本,基於
Ice Cream Sandwich的自定義動作欄實現將自動圍繞布局。能夠讓開發者輕松開發一款帶動作欄(Action
bar)的應用,並且適用於Android 2.x及其以上所有版本。

詳情請參考:ActionBarSherlock

2. facebook-android-sdk

Facebook SDK for Android是一個開源庫,允許開發者將Facebook集成到所開發的Android應用中。

如果想要獲取更多關於示例、文檔、將SDK集成到App中、源代碼等信息,可直接登陸Facebook Developers查看。

3. SlidingMenu(SlidingMenu Demos)

SlidingMenu是一個開源的Android庫,能夠讓開發者輕松開發一款應用,實現類似於Google+、Youtube和Facebook應用中非常流行的滑動式菜單。

使用SlidingMenu的Android應用:

Foursquare
Rdio
Plume
VLC for Android
ESPN ScoreCenter
MLS MatchDay
9GAG
Wunderlist 2
The Verge
MTG Familiar
Mantano Reader
Falcon Pro (BETA)
MW3 Barracks

4. cocos2d-x

在移動開發領域,將Cocos2D-X用於主流iOS/Android游戲開發的公司、開發團隊多不勝數。cocos2d-x是一個開源的支持多平
台的2D游戲框架,使用C++開發,基於cocos2d-iphone,在MIT許可證下發布。主分支在GitHub上使用OpenGL ES
2.0渲染,而舊版gles11分支則使用OpenGL ES 1.1渲染。

支持iOS、Android、Windows Phone 8、Bada、BlackBerry、Marmalade、Windows、Linux等多個平台。支持C++、Lua、JavaScript編程語言。

5. android

GitHub Android App是
GitHub開源的Android客戶端,支持Issues、Gists,並集成了新聞Feed,能夠讓你及時跟進組織及關注的開發者、庫等。同時,該應
用還提供了一個用戶快速訪問你所創建、監控及發布issue的面板,可查看並將問題加入到收藏夾,可對標簽、里程碑和任務進行過濾配置。

android資源庫包含了GitHub Android App的所有源代碼。

6. Android-ViewPagerIndicator

ViewPager指針項目,在使用ViewPager的時候能夠指示ViewPager所在的位置,就像Google Play中切換的效果一樣,還能使用在應用初始化的介紹頁面。

兼容Android支持庫的ViewPager及ActionBarSherlock,最初是基於Patrik Åkerfeldt的ViewFlow,開發者可以直接登陸Google Play下載該項目的演示應用。

7. MonoGame

MonoGame是一個Microsoft XNA 4.x Framework的開源跨平台實現。用於讓XNA開發者將他們在Xbox
360、Windows & Windows Phone上開發的游戲移植到iOS、Android、Mac OS
X、Linux及Windows 8 Metro上,目前,PlayStation Mobile & Raspberry
PI的開發正在進行中。

詳情請參考:MonoGame

8. Android-PullToRefresh

該項目用於為Android提供一個可重用的下拉刷新部件。它最初來源於Johan Nilsson的庫(主要是圖形、字元串和動畫),但這些後來都已被取代。

9. android-async-http

android-async-http是Android上的一個非同步、基於回調的HTTP客戶端開發包,建立在Apache的HttpClient庫上。

10. Android-Universal-Image-Loader

Android上最讓人頭疼的莫過於從網路獲取圖片、顯示、回收,任何一個環節有問題都可能直接OOM,這個項目或許能幫到你。

Universal Image Loader for Android的目的是為了實現非同步的網路圖片載入、緩存及顯示,支持多線程非同步載入。它最初來源於Fedor Vlasov的項目,且自此之後,經過大規模的重構和改進。

11. GreenDroid

GreenDroid最初是由Cyril Mottier發起,是一個Android的UI開發類庫,能夠讓UI開發更加簡便,並且在應用中始終保持一致。

詳情請參考:Cyril Mottier's Blog

12. Anki-Android

AnkiDroid是一個免費、開源的Android的快閃記憶體應用,可直接從Google Play進行下載。

詳情請參考:ankidroid

13. android-actionbar

Action
bar是一個標識應用程序和用戶位置的窗口功能,並且給用戶提供操作和導航模式。在大多數的情況下,當開發者需要突出展現用戶行為或在全局導航的
activity中使用action bar,因為action
bar能夠使應用程序給用戶提供一致的界面,且系統能夠很好地根據不同的屏幕配置來適應操作欄的外觀。

Action bar的主要目的:

提供一個用於識別應用程序的標示和用戶的位置的專用空間。
在不同的應用程序之間提供一致的導航和視覺體驗。
突出Activity的關鍵操作,並且在可預見的方法內給用戶提供快捷的訪問。

14. android-viewflow

android-viewflow是Android平台上的一個視圖切換的效果庫,ViewFlow相當於Android UI部件提供水平滾動的ViewGroup,使用Adapter進行條目綁定。

15. android-mapviewballoons

當使用Android地圖外部庫(com.google.android.maps)時,android-mapviewballoons會提供一個簡單的方式來對地圖覆蓋進行標注,就是一個簡單的信息氣泡。

它由BalloonOverlayView組成,是一個代表顯示你的MapView及BalloonItemizedOverlay的氣泡的視圖,BalloonItemizedOverlay是ItemizedOverlay的一個抽象擴展。

16. PushSharp

一個向iOS(iPhone/iPad APNS)、Android(C2DM和GCM)、Windows Phone和Windows 8設備發送推送通知的伺服器端庫。

17. androidannotations

Android Annotations是一個開源的框架,用於加速 Android應用的開發,可以讓你把重點放在功能的實現上,簡化了代碼,提升了可維護性。

18. HockeyKit

Hockey是一個iOS Ad-Hoc自動更新框架。蘋果App
Store中的所有App都可以使用它,它能夠顯著地提高Beta測試的整個過程,分為兩部分:伺服器和客戶端框架。伺服器組件需要所有腳本,但在沒有客
戶端庫的情況下,也可以單獨工作。它提供一個Web介面,Beta測試者可以使用它來安裝最新的AdHoc配置文件,也可以直接在設備上通過Safari
安裝最新的Beta版本。

只需在伺服器上安裝一次服務端,就可以處理包標識符不同的多個應用程序(有開發者強烈建議對Debug、AdHoc Beta和AppStore發布版使用不同的包標識符)。
默認當App啟動或喚醒時,客戶端會從伺服器檢測更新,用戶可以在設置對話框中進行修改:一天一次或手動檢查更新。
除了支持iOS,HokeyKit也支持Android平台,不過Android版還處在Alpha階段,支持OTA及應用內更新。
為HockeyKit用戶提供伺服器託管服務。

19. android-menudrawer

Android上的菜單展示風格各異,其中用得最多且體驗最好的莫過於左右滑動來顯示隱藏的菜單,android-menudrawer是一個滑動
式菜單實現,允許用戶在應用當中實現無縫導航。該項目具有多種菜單展示效果,其中最常見的就是通過屏幕邊緣拖動或點擊動作欄的「向上」按鈕顯示。

實現功能:

菜單可以沿著四個邊放置。
支持附加一個始終可見、不可拖動的菜單。
菜單的內容和整個窗口都可以隱藏。
可用於XML布局。
顯示當前可見屏幕的指示器。

20. android-flip

Aphid FlipView是一個能夠實現Flipboard翻頁效果的UI組件。

⑥ 怎麼快速跨平台開發蘋果安卓應用

推薦一個:react native,推出的一個跨平台解決方案,去年推出了iOS版,手機淘寶的有一個模塊「猜你喜歡」就是用react native實現的,效果還不錯,另外今年9月份,facebook推出了android版,大家不妨試一下,這里針對於webapp,做了一個比對:

相對於Webapp的優勢:
不用Webview,徹底擺脫了Webview讓人不爽的交互和性能問題;
有較強的擴展性,這是因為Native端提供的是基本控制項,JS可以自由組合使用;
可以直接使用Native原生的「牛逼」動畫(在FB Group這個app裡面,面板滑出帶一點果凍彈動,面板基於某個點展開這種動畫隨處可見,這種動畫用Native code來做小菜一碟,但是用Web來做就難上加難)。
相對於Native app的優勢:
可以通過服務端遠程更新JS,進而直接更新app的頁面;
相對於Webapp和Native的劣勢:
擴展性仍然遠遠不如web,也遠遠不如直接寫Native code;
從Native到Web,要做很多概念轉換,勢必造成雙方都要妥協。最終web要用一套CSS的閹割版,Native要費勁地把這個閹割版轉換成native原生的表達方式(比如iOS的Constraint\origin\Center等屬性)。

另外我以前在CocoaChina上收藏過的一個帖子,整理了許多iOS和Android跨平台解決方案,感覺很不錯,現在拿出來分享給大家,希望對題主有幫助。

1、jQuery Mobile

jQuery Mobile是jQuery 在手機上和平板設備上的版本。jQuery Mobile 不僅會給主流移動平台帶來jQuery核心庫,而且會發布一個完整統一的jQuery移動UI框架。支持全球主流的移動平台。jQuery Mobile文檔比較全面,同時有在線工具幫你快速創建自己中意的UI風格。

技術需求:HTML,CSS,jQuery
平台支持: 絕大多數移動瀏覽器

2、Corona SDK(使用Lua語言):

Corona SDK的優點:

穩定;支持硬體加速、GPS、指南針及照相機等;支持與Map、Facebook、OpenFient、GameCenter的集成;內建的物理集成;Lua語言比較容易學習;
已經有了一些很不錯的應用,至少能夠證明這個SDK是可以做出優秀應用來的;不錯的社區支持。

Corona SDK不太好的地方:

只支持iOS和Android;Lua語言不是面向對象的;每年都要交授權費(99美元/年)。

另外還有其他的一些補充,比如:

對於Corona SDK不支持的第三方SDK沒法自己去集成;編譯項目的時候需要把代碼上傳到Corona的伺服器上去編譯,不能在本地直接編譯;無法擴展Corona的功能;物理模塊還有一些缺陷。

3、Airplay SDK(後來更名為Marmalade,不少大的公司在使用Airplay SDK,尤其適用於進行2D/3D游戲的開發)

目前使用Marmalade的游戲有《割繩子》、《植物大戰僵屍》、《你猜我畫》、Build 'n' Bash 3D、Catch the Monkey、Need for Speed Shift以及WorkSnug Pro等多款游戲。

Airplay SDK文檔中還包含多個示例。「感覺受到限制」的開發者還可以在Airplay SDK上進行擴展。開發者需要對C++比較熟悉。

4、Appcelerator(Titanium)

Appcelerator允許使用HTML/Javascript來開發原生app,開發者可以免費使用。目前世界上185個國家中有超多46萬的開發者在使用Appcelerator提供的解決方案。

Titanium為Appcelerator於2008年底所推出的跨平台應用程序開發解決方案,目前支持iOS/Android/Blackberry/WM7等行動平台,以及Windows/Linux/OS X這三種主流的桌上型平台。

5、PhoneGap

PhoneGap是一能夠讓你用普通NewsShow的web技術編寫出能夠輕松調用API介面和進入應用商店的HTML5應用開發平台。是唯一的一個支持7個平台的開源移動框架。PhoneGap的優勢主要體現在開發成本低,兼容性好,完全做到了「Written Once,Run Everywhere!」。

它使開發者能夠利用iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手機的核心功能。此外PhoneGap擁有豐富的插件,可以以此擴展無限的功能。

PhoneGap在多個主要的智能手機設備上提供了以下功能的支持:
加速計、攝像頭、羅盤、通訊錄、文檔、地理定位、媒體、網路、通知(警告、聲音和振動)以及存儲等。如果正在為iPhone或Android設備做開發,那麼這些功能都是支持的。
PhoneGap和Appcelerator的社區支持做的非常不錯。 PhoneGap中文論壇:PhoneGap跨平台開發論壇,致力於跨平台開發分享!

⑦ FaceBook 第三方登錄後,怎麼獲取好友列表

facebook這些都會提供sdk,需要將sdk導入自己的工程,具體的接入方式他們官網會提供詳細的文檔。

⑧ Android 開發有哪些新技術出現

1、開發工具

Android Studio: Google 官方放棄 Eclipse 和 Android Studio 普及。AS 雖然不算新,但是對 Android Studio 這個軟體的更新速度快的驚人,有大量的新功能發布。例如支持很多註解代碼提示註解、Live code template、支持自動生成 Parcelable 實現等等,作為開發者,持續關注這個更新列表 Recent Changes,一定會讓你的寫代碼的生活更加美好。

2、編程「語言」

Kotlin:作為 Android 領域的 Swift,絕對讓你如沐新風。拋棄沉重的 Java 語法,Kotlin 融入了很多現代編程語言的思想,作為開發者,接受新的語言,了解新語言的發展趨勢,更有利於開闊你的思路和加深對語言的理解。在 Android 開發上,使用 Kotlin 並不會讓你付出什麼代價,為什麼不來試試? 使用Kotlin進行Android開發。
React Nativ: 跨平台一直是程序員的夢想,而且移動應用的跨平台解決方案也很多,因為 Facebook 的參與和力推,讓這個解決方案帶上了光環。第一個用 React Native 開發的 App 已經在 Google Play 上架 Facebook 廣告管理工具,聽說 Android 的 SDK 也馬上會到來,React Native。
Sky:與 React Native 類似,使用 Web 開發語言來做移動平台的開發,雖然這個只是一個嘗試,但是這是 Google 自身推出的,特別是在 Java 語言的使用上敗訴之後,這可能會有一些作為呢,domokit/sky_sdk。

3、開發模式

Dagger 2:依賴注入並不是什麼新技術,但是使用在 Android 確實一個新的嘗試。Android App 越來越被當成嚴肅的大型項目來構建,很多在以前大型伺服器開發上使用的技術都被應用到了移動開發。Android 開發分模塊開發,使用 Dagger 來松耦合模塊。特別值得一體的是,Dagger 2 現在由 Google 親自接管。 Dagger ‡ A fast dependency injector for Android and Java。
MVP:因為 Android 並沒有嚴格的業務和界面區分,項目一復雜,就很容易使代碼陷入混亂。現在 Android 開發社區對 MVP 模式討論越來越熱,覺得 MVP 是非常適合 Android APP 開發。MVP for Android: how to organize the presentation layer。
RxAndroid:函數響應式編程(Functional Reactive Programming)也不是新內容,RxAndroid 把 RxJava 帶到 Android 環境中。很多時候,編寫 Android 程序,你也可以看成是數據的處理和流動,換一種思想編程,曾經看起來很棘手的問題,瞬間就很優雅的解決了:ReactiveX/RxAndroid。
MVVM:這是因為開始官方支持 DataBinding,把 MVVM 直接帶到 Android 中。數據綁定在 Windows WPF 和 Web 已經非常常見,它非常高效的開發效率,讓你只關心你的數據和業務。這也對 Android 開發來說,無疑是一個非常重大的影響:android UI設計MVVM設計模式討論?。
插件化:針對大型 Android 項目,很多 App 開始使用插件來分模塊構建相對獨立的功能。
Hybrid:完全使用 HTML 5 開發 App,目前還不成熟。但是折中方案在很多情況下是非常適合的,典型的就是微信,大部分信息展示都是通過 H5 來完成,同時通過 Hybird 方式,把 Web 和 Native 打通,提供給網頁訪問本地資源的能力。

4、UI設計

Material Design:已經紅遍了大江南北,這方面的討論實在太多了,而且各種支持庫都有了,特別是 Google 官方出了一個支持庫 Android Design Support Library。
Sketch 3:這是一個專為設計移動端 UI 的設計工具,作為開發者,不用懂那麼復雜的 PS 使用,也可以做非常專業設計。

⑨ 安卓開源的android-FlipView,了解的請幫忙

1.ActionBarSherlock

ActionBarSherlock應該算得上是GitHub上最火的Android開源項目了,它是一個獨立的庫,通過一個API和主題,開發者就可以很方便地使用所有版本的Android動作欄的設計模式。

對於Android
4.0及更高版本,ActionBarSherlock可以自動使用本地ActionBar實現,而對於之前沒有ActionBar功能的版本,基於Ice
Cream
Sandwich的自定義動作欄實現將自動圍繞布局。能夠讓開發者輕松開發一款帶動作欄(Action
bar)的應用,並且適用於Android 2.x及其以上所有版本。

2.facebook-android-sdk

Facebook SDK for Android是一個開源庫,允許開發者將Facebook集成到所開發的Android應用中。

3.SlidingMenu(SlidingMenu
Demos)

SlidingMenu是一個開源的Android庫,能夠讓開發者輕松開發一款應用,實現類似於Google+、Youtube和Facebook應用中非常流行的滑動式菜單。

使用SlidingMenu的Android應用:

Foursquare
Rdio
Plume
VLC for Android
ESPN ScoreCenter
MLS MatchDay
9GAG
Wunderlist 2
The Verge
MTG Familiar
Mantano Reader
Falcon Pro (BETA)
MW3 Barracks
4. cocos2d-x

在移動開發領域,將Cocos2D-X用於主流iOS/Android游戲開發的公司、開發團隊多不勝數。cocos2d-x是一個開源的支持多平台的2D游戲框架,使用C++開發,基於cocos2d-iphone,在MIT許可證下發布。主分支在GitHub上使用OpenGL
ES 2.0渲染,而舊版gles11分支則使用OpenGL ES 1.1渲染。

支持iOS、Android、Windows Phone
8、Bada、BlackBerry、Marmalade、Windows、Linux等多個平台。支持C++、Lua、JavaScript編程語言。

5. android
GitHub Android App是GitHub開源的Android客戶端,支持Issues、Gists,並集成了新聞Feed,能夠讓你及時跟進組織及關注的開發者、庫等。同時,該應用還提供了一個用戶快速訪問你所創建、監控及發布issue的面板,可查看並將問題加入到收藏夾,可對標簽、里程碑和任務進行過濾配置。

android資源庫包含了GitHub Android App的所有源代碼。

6.Android-ViewPagerIndicator

ViewPager指針項目,在使用ViewPager的時候能夠指示ViewPager所在的位置,就像Google
Play中切換的效果一樣,還能使用在應用初始化的介紹頁面。

兼容Android支持庫的ViewPager及ActionBarSherlock,最初是基於Patrik
Åkerfeldt的ViewFlow。

7. MonoGame

MonoGame是一個Microsoft XNA 4.x
Framework的開源跨平台實現。用於讓XNA開發者將他們在Xbox 360、Windows &
Windows Phone上開發的游戲移植到iOS、Android、Mac OS X、Linux及Windows 8
Metro上,目前,PlayStation Mobile & Raspberry PI的開發正在進行中。

8.Android-PullToRefresh

該項目用於為Android提供一個可重用的下拉刷新部件。它最初來源於Johan
Nilsson的庫(主要是圖形、字元串和動畫),但這些後來都已被取代。

9. android-async-http

android-async-http是Android上的一個非同步、基於回調的HTTP客戶端開發包,建立在Apache的HttpClient庫上。

10.Android-Universal-Image-Loader

Android上最讓人頭疼的莫過於從網路獲取圖片、顯示、回收,任何一個環節有問題都可能直接OOM,這個項目或許能幫到你。

Universal Image Loader for
Android的目的是為了實現非同步的網路圖片載入、緩存及顯示,支持多線程非同步載入。它最初來源於Fedor
Vlasov的項目,且自此之後,經過大規模的重構和改進。

11. GreenDroid

GreenDroid最初是由Cyril
Mottier發起,是一個Android的UI開發類庫,能夠讓UI開發更加簡便,並且在應用中始終保持一致。

12. Anki-Android

AnkiDroid是一個免費、開源的Android的快閃記憶體應用,可直接從Google
Play進行下載。

13.android-actionbar

Action
bar是一個標識應用程序和用戶位置的窗口功能,並且給用戶提供操作和導航模式。在大多數的情況下,當開發者需要突出展現用戶行為或在全局導航的activity中使用action
bar,因為action
bar能夠使應用程序給用戶提供一致的界面,且系統能夠很好地根據不同的屏幕配置來適應操作欄的外觀。

Action bar的主要目的:

提供一個用於識別應用程序的標示和用戶的位置的專用空間。
在不同的應用程序之間提供一致的導航和視覺體驗。
突出Activity的關鍵操作,並且在可預見的方法內給用戶提供快捷的訪問。
14.android-viewflow

android-viewflow是Android平台上的一個視圖切換的效果庫,ViewFlow相當於Android
UI部件提供水平滾動的ViewGroup,使用Adapter進行條目綁定。

15.android-mapviewballoons

當使用Android地圖外部庫(com.google.android.maps)時,android-mapviewballoons會提供一個簡單的方式來對地圖覆蓋進行標注,就是一個簡單的信息氣泡。

它由BalloonOverlayView組成,是一個代表顯示你的MapView及BalloonIt www.hbbz08.com emizedOverlay的氣泡的視圖,BalloonItemizedOverlay是ItemizedOverlay的一個抽象擴展。

16.PushSharp

一個向iOS(iPhone/iPad APNS)、Android(C2DM和GCM)、Windows
Phone和Windows 8設備發送推送通知的伺服器端庫。

17.androidannotations

Android Annotations是一個開源的框架,用於加速
Android應用的開發,可以讓你把重點放在功能的實現上,簡化了代碼,提升了可維護性。

18.HockeyKit

Hockey是一個iOS Ad-Hoc自動更新框架。蘋果App
Store中的所有App都可以使用它,它能夠顯著地提高Beta測試的整個過程,分為兩部分:伺服器和客戶端框架。伺服器組件需要所有腳本,但在沒有客戶端庫的情況下,也可以單獨工作。它提供一個Web介面,Beta測試者可以使用它來安裝最新的AdHoc配置文件,也可以直接在設備上通過Safari安裝最新的Beta版本。

只需在伺服器上安裝一次服務端,就可以處理包標識符不同的多個應用程序(有開發者強烈建議對Debug、AdHoc Beta和AppStore發布版使用不同的包標識符)。
默認當App啟動或喚醒時,客戶端會從伺服器檢測更新,用戶可以在設置對話框中進行修改:一天一次或手動檢查更新。
除了支持iOS,HokeyKit也支持Android平台, 不過Android版還處在Alpha階段,支持OTA及應用內更新。
為HockeyKit用戶提供伺服器託管服務。
19.android-menudrawer

Android上的菜單展示風格各異,其中用得最多且體驗最好的莫過於左右滑動來顯示隱藏的菜單,android-menudrawer是一個滑動式菜單實現,允許用戶在應用當中實現無縫導航。該項目具有多種菜單展示效果,其中最常見的就是通過屏幕邊緣拖動或點擊動作欄的「向上」按鈕顯示。

熱點內容
國產高配置有哪些 發布:2024-04-27 09:18:26 瀏覽:947
建行手機app忘記密碼如何修改 發布:2024-04-27 08:58:59 瀏覽:393
蟻群演算法的數學模型 發布:2024-04-27 08:58:39 瀏覽:994
androidactivity生命 發布:2024-04-27 07:33:48 瀏覽:84
win2008伺服器搭建網站 發布:2024-04-27 07:26:51 瀏覽:640
java的vector 發布:2024-04-27 07:05:00 瀏覽:204
舊電腦共享伺服器 發布:2024-04-27 06:32:21 瀏覽:339
java程序練習 發布:2024-04-27 06:24:00 瀏覽:438
sql30 發布:2024-04-27 06:22:10 瀏覽:55
怎樣防止sql注入 發布:2024-04-27 06:11:25 瀏覽:236