欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

android超時,手機app請求超時

如何修改android系統(tǒng)的“屏幕超時”

今天修改了android2.3的“屏幕超時”部分,主要是修改了超時時間,添加了“永不休眠”選項。這部分修改只是更改了對應(yīng)的XML文件,沒有涉及到代碼修改,大家都知道xml文件的作用,這里就不多說了。需要修改的文件如下:

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),信州企業(yè)網(wǎng)站建設(shè),信州品牌網(wǎng)站建設(shè),網(wǎng)站定制,信州網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,信州網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

android2.3\packages\apps\Settings\res\values\arrays.xml 中:

!-- Display settings. The delay in inactivity before the screen is turned off. These are shown ain a list dialog. --

string-array name="screen_timeout_entries"

item15 seconds/item

item30 seconds/item

item1 minute/item

item10 minutes/item

item30 minutes/item

itemnever sleep/item

/string-array

!-- Do not translate. --

string-array name="screen_timeout_values" translatable="false"

!-- Do not translate. --

item15000/item

!-- Do not translate. --

item30000/item

!-- Do not translate. --

item60000/item

!-- Do not translate. --

item600000/item

!-- Do not translate. --

item1800000/item

!-- Do not translate. --

item-1/item

/string-array

要是是系統(tǒng)屏幕永不超時也就是將待機時間設(shè)為“-1”,這是最關(guān)鍵的一點;

對應(yīng)英文版本:

android2.3\packages\apps\Settings\res\values-cs\arrays.xml

string-array name="screen_timeout_entries"

item msgid="3342301044271143016""15 sekund"/item

item msgid="8881760709354815449""30 sekund"/item

item msgid="7589406073232279088""1 minuta"/item

item msgid="7001195990902244174""10 minuty"/item

item msgid="5721688686241190620""30 minut"/item

item msgid="7156442995039264948""never sleep."/item

/string-array

對應(yīng)中文版本:

android\android_gingerbread_skdv210\packages\apps\Settings\res\values-zh-rCN\arrays.xml

string-array name="screen_timeout_entries"

item msgid="3342301044271143016""15 秒"/item

item msgid="8881760709354815449""30 秒"/item

item msgid="7589406073232279088""1 分鐘"/item

item msgid="7001195990902244174""10 分鐘"/item

item msgid="5721688686241190620""30 分鐘"/item

item msgid="7156442995039264948""從不休眠"/item

/string-array

如何設(shè)置android HttpPost 連接服務(wù)器超時

1.// 根據(jù)內(nèi)容來源地址創(chuàng)建一個Http請求

2.HttpPost request = new HttpPost(SERVER_URL);

3.//設(shè)置請求超時

4.int timeoutConnection = 3 * 1000;

5.HttpConnectionParams.setConnectionTimeout(httpParameters,timeoutConnection);

6.//設(shè)置響應(yīng)超時

7.int timeoutSocket = 5 * 1000;

8.HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);

9.// 發(fā)送請求并獲取反饋

10.DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);

11.HttpResponse httpResponse = httpClient.execute(request);

如何修改Android超時休眠時間

方法一、調(diào)整代碼:

Settings.System.putInt(getContentResolver(),android.provider.Settings.System.SCREEN_OFF_TIMEOUT,-1);

權(quán)限:uses-permission android:name="android.permission.WRITE_SETTINGS" /

方法二、調(diào)整數(shù)據(jù)庫:

android的這些設(shè)置都是存放在sql數(shù)據(jù)庫里的,也就是說可以直接通過修改數(shù)據(jù)庫來不讓android睡眠。

sqlite3 /data/data/com.android.providers.settings/databases/settings.db

具體sql:

UPDATE system SET value = '-1' WHERE name = 'screen_off_timeout' ;

如何在android下采用相對時間,實現(xiàn)超時等待的功能

一、函數(shù)功能說明

pthread_cond_timedwait 等待一個條件變量,或者超時就會返回

POSIX有兩種時鐘類型

1、CLOCK_REALTIME: 系統(tǒng)范圍內(nèi)的實時時鐘,是個時鐘,可以通過命令等方式修改該系統(tǒng)時間.

2、CLOCK_MONOTONIC:系統(tǒng)起機時到現(xiàn)在的時間,不能被設(shè)置和修改.

pthread_cond_timedwait()在沒有設(shè)置條件變量屬性的時候,默認(rèn)用的是CLOCK_REALTIME時間,

因此在極端情況下會出現(xiàn)實際等待的時間與設(shè)置的超時時間不同。

所以,對于linux的超時等待功能,最好是使用CLOCK_MONOTONIC進(jìn)行實現(xiàn),并且通過pthread_condattr_setclock實現(xiàn)。

而對于android系統(tǒng)而言,是不支持pthread_condattr_setclock,通過驗證可以采用函數(shù)pthread_cond_timedwait_monotonic實現(xiàn)。

下面直接給出代碼的實現(xiàn)功能。

二、超時等待功能

[cpp] view plain copy

#include stdio.h

#include string.h

#include pthread.h

#include sys/time.h

#include sys/times.h

#include unistd.h

#include time.h

static pthread_mutex_t s_mut = PTHREAD_MUTEX_INITIALIZER;

static pthread_cond_t s_cond = PTHREAD_COND_INITIALIZER;

void PthreadAttr_Init(void);

unsigned long long getSysTime(void);

void waitTimeout(void);

void PthreadAttr_Init(void)

{

#if defined(ANDROID)

#else

pthread_condattr_t cattr;

int iRet = -1;

iRet = pthread_condattr_init(cattr);

if (iRet != 0)

{

return;

}

pthread_mutex_init(s_mut, NULL);

pthread_condattr_setclock(cattr, CLOCK_MONOTONIC);

pthread_cond_init(s_cond, cattr);

pthread_condattr_destroy(cattr);

#endif

return;

}

void waitTimeout(void)

{

unsigned long long ullbefore = getSysTime();

unsigned long long ullafter = 0;

#if defined(ANDROID)

#if defined(HAVE_PTHREAD_COND_TIMEDWAIT_MONOTONIC) // 支持ANDROID下NDK的編譯,采用相對時間

struct timespec outtime;

memset(outtime, 0x00, sizeof(struct timespec ));

clock_gettime(CLOCK_MONOTONIC, outtime);

outtime.tv_sec += 2;

pthread_mutex_lock(s_mut);

pthread_cond_timedwait_monotonic(s_cond,s_mut, outtime);

pthread_mutex_unlock(s_mut);

ullafter = getSysTime();

printf("####01 interval[%lld] ms\n", ullafter - ullbefore);

#else //支持ANDROID下NDK的編譯,采用絕對時間

struct timeval now;

struct itmespec outtime;

gettimeofday(now, NULL);

outtime.tv_sec = now..tv_sec + 3;

outtime.tv_nsec = now.tv_usec * 1000;

pthread_mutex_lock(s_mut);

pthread_cond_timedwait(s_cond, s_mut, outtime);

pthread_mutex_unlock(s_mut);

ullafter = getSysTime();

printf("####02 interval[%lld] ms\n", ullafter - ullbefore);

#endif

#else // 支持LINUX下的編譯,采用絕對時間

struct timespec outtime;

memset(outtime, 0x00, sizeof(struct timespec ));

clock_gettime(CLOCK_MONOTONIC, outtime);

outtime.tv_sec += 4;

pthread_mutex_lock(s_mut);

pthread_cond_timedwait(s_cond, s_mut, outtime);

pthread_mutex_unlock(s_mut);

ullafter = getSysTime();

printf("####03 interval[%lld] ms\n", ullafter - ullbefore);

#endif

return;

}

unsigned long long getSysTime(void)

{

unsigned long long milliseconds = 0;

struct tms t_tmsTime;

clock_t t_CurTime;

static int s_clks_per_sec = 0;

if (s_clks_per_sec == 0)

{

s_clks_per_sec = sysconf(_SC_CLK_TCK);

}

if (s_clks_per_sec == 0)

{

return 0;

}

t_CurTime = times(t_tmsTime);

if (1000 % s_clks_per_sec == 0)

{

milliseconds = (1000 /s_clks_per_sec)*(unsigned long long )t_CurTime;//換算成毫秒

}

else

{

milliseconds = 1000 * (unsigned long long )t_CurTime/s_clks_per_sec;//換算成毫秒

}

return milliseconds;

}

int main(void)

{

PthreadAttr_Init();

waitTimeout();

return 0;

}

編譯命令:

gcc test_ptthrad_conf_timewait_monotonic.c -o test_ptthrad_conf_timewait_monotonic -lpthread -lrt

linux下的測試結(jié)果:

####03 interval[4010] ms

android中如何獲取超時時長的異常

android獲取超時時長的異常方式如下:設(shè)置超時機制

client.getParams().setIntParameter(

HttpConnectionParams.SO_TIMEOUT, TIME_OUT_DELAY); // 超時設(shè)置

client.getParams().setIntParameter(

HttpConnectionParams.CONNECTION_TIMEOUT, TIME_OUT_DELAY);// 連接超時

這里設(shè)置了兩種超時,第一種是請求超時,第二種時連接超時。

當(dāng)向服務(wù)器發(fā)出請求后,請求和服務(wù)器建立socket連接,但是很長時間內(nèi)都沒有建立socket連接,這就時第一種請求超時,這種情況主要發(fā)生在請求了

一個不存在的服務(wù)器。超時之后,會拋出InterruptedIOException異常。

Timeout for blocking operations. The argument value is specified in

milliseconds. An InterruptedIOException is thrown if this timeout

expires.

android okhttp超時怎么辦

OkHttp是一個在開發(fā)可汗學(xué)院AndroidAPP過程中非常重要的依賴庫。它的默認(rèn)的配置為我們提供了非常重要實用功能,下面一些步驟我們可以讓Okhttp提供功能使用靈活和內(nèi)省能力。1.啟用文件系統(tǒng)上的響應(yīng)緩存默認(rèn)情況下,Okhttp不支持響應(yīng)緩存,包括HTTPCache-Control頭允許緩存響應(yīng)。因此,客戶端通過一次又一次的請求相同的資源浪費時間和帶寬。而不是簡單地讀取初始響應(yīng)后緩存的副本。要在文件系統(tǒng)中啟用響應(yīng)緩存,需要配置com.squareup.okhttp.Cache實例,并把它傳遞給你的OkHttpClient實例的setCache方法。你必須初始化緩存與存放目錄的文件,并以字節(jié)為單位的最大值。響應(yīng)返回數(shù)據(jù)可以寫入給定目錄文件,如果一個響應(yīng)的緩存超過了給定的大小。我們可以采取LRUpolicy。我們可以在stackoverflow查看JesseWilson的回復(fù)。我們可以通過context.getCacheDir()在子目錄中緩存我們的響應(yīng)://Basedirectoryrecommendedby/q/4441849/400717.final@NullableFilebaseDir=context.getCacheDir();if(baseDir!=null){finalFilecacheDir=newFile(baseDir,"HttpResponseCache");okHttpClient.setCache(newCache(cacheDir,HTTP_RESPONSE_DISK_CACHE_MAX_SIZE));}//Basedirectoryrecommendedby/q/4441849/400717.final@NullableFilebaseDir=context.getCacheDir();if(baseDir!=null){finalFilecacheDir=newFile(baseDir,"HttpResponseCache");okHttpClient.setCache(newCache(cacheDir,HTTP_RESPONSE_DISK_CACHE_MAX_SIZE));}在可汗學(xué)院的程序中我們指定HTTP_RESPONSE_DISK_CACHE_MAX_SIZEas10*1024*1024,or10MB的大小2.集成StethoStetho是Facebook的一個可愛的庫,可以使用Chrome瀏覽器的Chrome開發(fā)人員工具功能來檢查你的Android應(yīng)用程序。Stetho除了允許你檢查你的應(yīng)用程序的SQLite數(shù)據(jù)庫,還可以查看View的層次結(jié)構(gòu)。允許你檢查由OkHttp發(fā)起的每個請求和響應(yīng):這種自省機制是確保服務(wù)器返回允許資源緩存的HTTP頭是非常有用的,以及驗證沒有請求時,保證緩存的資源存在。要想使用Stetho,只需添加一個StethoInterceptor實例的網(wǎng)絡(luò)攔截器列表:okHttpClient.networkInterceptors().add(newStethoInterceptor());okHttpClient.networkInterceptors().add(newStethoInterceptor());然后,運行應(yīng)用程序,打開瀏覽器后,輸入chrome://inspect。然后你就會看到應(yīng)用程序的設(shè)備和標(biāo)識符的列表。然后鼠標(biāo)右鍵選擇inspect打開開發(fā)者工具,然后打開新的tab,開始監(jiān)控OkHttp請求。3.使用Picasso和Retrofit你可能使用過Picasso來加載網(wǎng)絡(luò)圖片,或者使用Retrofit來簡化發(fā)出請求和解碼響應(yīng)。這些第三方庫將隱式地創(chuàng)建自己的OkHttpClient供內(nèi)部使用,如果你不明確指定一個。Picassoversion2.5.2的OkHttpDownloader類:privatestaticOkHttpClientdefaultOkHttpClient(){OkHttpClientclient=newOkHttpClient();client.setConnectTimeout(Utils.DEFAULT_CONNECT_TIMEOUT_MILLIS,TimeUnit.MILLISECONDS);client.setReadTimeout(Utils.DEFAULT_READ_TIMEOUT_MILLIS,TimeUnit.MILLISECONDS);client.setWriteTimeout(Utils.DEFAULT_WRITE_TIMEOUT_MILLIS,TimeUnit.MILLISECONDS);returnclient;}privatestaticOkHttpClientdefaultOkHttpClient(){OkHttpClientclient=newOkHttpClient();client.setConnectTimeout(Utils.DEFAULT_CONNECT_TIMEOUT_MILLIS,TimeUnit.MILLISECONDS);client.setReadTimeout(Utils.DEFAULT_READ_TIMEOUT_MILLIS,TimeUnit.MILLISECONDS);client.setWriteTimeout(Utils.DEFAULT_WRITE_TIMEOUT_MILLIS,TimeUnit.MILLISECONDS);returnclient;}Retrofit也有類似的工廠方法來創(chuàng)建自己的OkHttpClient。圖片一般在應(yīng)用程序中需要加載的比較大的資源。盡管Picasso自己維護(hù)它的LRU機制來緩存圖片,在內(nèi)存中嚴(yán)格執(zhí)行。如果客戶端嘗試使用Picasso來加載圖片。Picasso會找不到其在內(nèi)存中緩存圖像,然后將委托加載該圖片到它的內(nèi)部OkHttpClient實例。并且默認(rèn)情況下該實例將始終從服務(wù)器加載圖片資源。作為defaultOkHttpClient的方法不能與上面提到的文件系統(tǒng)中的響應(yīng)緩存配置結(jié)合起來。指定你自己的OkHttpClient實例允許返回數(shù)據(jù)從文件系統(tǒng)緩存響應(yīng),圖片不會從服務(wù)器加載。這是非常重要的在程序第一次啟動以后。這個時候Picasso的內(nèi)存緩存是冷的。所以它會頻繁的委托OkHttpClient實例去加載圖片。這就需要構(gòu)建配置了您Picasso的OkHttpClient實例,如果你在你的代碼中使用Picasso.with(context).load()Picasso.with(context).load()加載圖片,你是用的是Picasso的單例模式。這是通過with方法懶漢模式地實例化并配置自己的OkHttpClient。因此,我們必須使我們自己的Picasso實例在單例之前通過wiht方法調(diào)用。實現(xiàn)這個,可以簡單的將OkHttpClient實例封裝在OkHttpDownloader中,然后傳遞給Picasso.Builder實例的downloader方法。finalPicassopicasso=newPicasso.Builder(context).downloader(newOkHttpDownloader(okHttpClient)).build();//Theclientshouldinjectthisinstancewheneveritisneeded,butreplacethesingleton//instancejustincase.Picasso.setSingletonInstance(picasso);finalPicassopicasso=newPicasso.Builder(context).downloader(newOkHttpDownloader(okHttpClient)).build();//Theclientshouldinjectthisinstancewheneveritisneeded,butreplacethesingleton//instancejustincase.Picasso.setSingletonInstance(picasso);在Retrofit中要使用OkHttpClient實例,需要改造1.9.x的一個RestAdapter,需要將OkHttpClient封裝OkClient的實例中。然后把它傳遞給RestAdapter.Builder實例的setClient方法。restAdapterBuilder.setClient(newOkClient(httpClient));restAdapterBuilder.setClient(newOkClient(httpClient));在Retrofit2.0中只需要簡單的將OkHttpClient傳遞給Retrofit.Builder實例的client方法。在可汗學(xué)院的APP中我們通過Dagger依賴注入來確保我們只有一個OkHttpClient的實例。這種方法同樣也適用于Picasso和Retrofit我們提供了一個為OkHttpClient實例提供單例模式的注解示例:@Provides@SingletonpublicOkHttpClientokHttpClient(finalContextcontext,){finalOkHttpClientokHttpClient=newOkHttpClient();configureClient(okHttpClient,);returnokHttpClient;}@Provides@SingletonpublicOkHttpClientokHttpClient(finalContextcontext,){finalOkHttpClientokHttpClient=newOkHttpClient();configureClient(okHttpClient,);returnokHttpClient;}OkHttpClient將會通過Dagger的注解創(chuàng)建一個實例提供給我們的Picasso和Retrofit。4.指定一個用戶代理攔截器日志文件和分析為我們提供了有用的信息,當(dāng)客戶在每個請求提供詳細(xì)的User-Agentheader值的時候。默認(rèn)情況下,Okhttp包含User-Agent值只有在特定的Okhttp版本中。為了指定我們自己的useragent。首先創(chuàng)建攔截器的替換值,我們可以看stackoverflow的建議。publicfinalclassUserAgentInterceptorimplementsInterceptor{privatestaticfinalStringUSER_AGENT_HEADER_NAME="User-Agent";privatefinalStringuserAgentHeaderValue;publicUserAgentInterceptor(StringuserAgentHeaderValue){this.userAgentHeaderValue=Preconditions.checkNotNull(userAgentHeaderValue);}@OverridepublicResponseintercept(Chainchain)throwsIOException{finalRequestoriginalRequest=chain.request();finalRequestrequestWithUserAgent=originalRequest.newBuilder().removeHeader(USER_AGENT_HEADER_NAME).addHeader(USER_AGENT_HEADER_NAME,userAgentHeaderValue).build();returnchain.proceed(requestWithUserAgent);}}publicfinalclassUserAgentInterceptorimplementsInterceptor{privatestaticfinalStringUSER_AGENT_HEADER_NAME="User-Agent";privatefinalStringuserAgentHeaderValue;publicUserAgentInterceptor(StringuserAgentHeaderValue){this.userAgentHeaderValue=Preconditions.checkNotNull(userAgentHeaderValue);}@OverridepublicResponseintercept(Chainchain)throwsIOException{finalRequestoriginalRequest=chain.request();finalRequestrequestWithUserAgent=originalRequest.newBuilder().removeHeader(USER_AGENT_HEADER_NAME).addHeader(USER_AGENT_HEADER_NAME,userAgentHeaderValue).build();returnchain.proceed(requestWithUserAgent);}}為了創(chuàng)建User-Agentheader值人然后傳遞給UserAgentInterceptor的構(gòu)造器,使用你得到的任何信息。我們可以使用:android的系統(tǒng)信息可以清晰的傳遞出這是一臺android設(shè)備Build.MODEL或者“制造商提供的用戶可見最終可見的名稱”Build.BRAND或者“消費者可見的品牌與產(chǎn)品/硬件相關(guān)信息”Build.VERSION.SDK_INT或者“消費者可見的Android提供的SDK版本號”BuildConfig.APPLICATION_IDBuildConfig.VERSION_NAMEBuildConfig.VERSION_CODE最后三個值由的applicationID,VERSIONCODE和VERSIONNAME的值在我們的Gradlebuild腳本中了解信息可以查看versioningyourapplications和configuringyourapplicationIdwithGradle請注意,如果您的應(yīng)用程序使用的是WebView,您可以配置使用相同的User-Agentheader值,你可以通過下面方法創(chuàng)建UserAgentInterceptor:WebSettingssettings=webView.getSettings();settings.setUserAgentString(userAgentHeaderValue);WebSettingssettings=webView.getSettings();settings.setUserAgentString(userAgentHeaderValue);5.指定合理的超時2.5.0版本之前,OkHttp請求默認(rèn)為永不超時。2.5.0版本開始如果建立連接請求超時,如果從連接讀取下一個字節(jié)或?qū)懭氲南乱粋€字節(jié)到連接,花費超過10秒,就終止。這樣做需要更新到2.5.0版本我們就不需要在我們的代碼中修改bug。原因很簡單是我因為我們第一次使用的時候使用了錯誤的路徑。要覆蓋這些默認(rèn)值,可以分別調(diào)用setConnectTimeout,setReadTimeout或setWriteTimeout。需要注意的是Picasso和Retrofit為OkHttpClient實例指定不同的超時值時,默認(rèn)情況下,Picasso指定:連接超過15秒.讀取超過20秒寫入超過20秒而Retrofit指定:連接超過15秒.讀取超過20秒沒有寫入超時通過配置Picasso和Retrofit自己的OkHttpClient實例你可以確保所有的請求超時是一致的

分享名稱:android超時,手機app請求超時
文章源于:http://aaarwkj.com/article20/dsshojo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機、云服務(wù)器、靜態(tài)網(wǎng)站、域名注冊、外貿(mào)建站、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
九九99九九99九九精品在线观看| 日韩精品人妻一区二区网站| 日韩电影一区二区在线观看中文字幕| 青青草国产成人自拍视频在线观看| 亚洲成人免费在线一区| 亚洲五月婷婷久久综合| 亚洲欧美高清一区二区| 日韩高清午夜片在线观看| 亚洲高清成人综合网站| 激情偷拍一区二区三区视频| 国产精品国产三级国av麻豆| 午夜福利主播一区二区| 夫妻性生活在线视频一级片| 国产蜜臀视频在线播放| 刚出嫁新婚少妇很紧很爽| 亚洲熟妇人妻一区二区三区| 日本一区二区三区加勒比| 精品国产伦一区二区三区在线| 婷婷六月亚洲激情综合| 91午夜福利视频在线观看| 亚洲国产欧美日韩久久| 亚洲一区二区精品天堂| 免费在线成人av观看| 91九色午夜在线观看| 97在线视频观看官网| 久久日韩制服丝袜人妻| 亚洲熟女av综合网五月| 亚洲字幕中文在线乱码mv| 日本精品中文字幕人妻| 日韩一区二区三区四区精品| 中文字幕国产成人在线视频| 欧美夫妻成人性生活视频| 天天操夜夜操夜夜操精品| 极品美女被插到高潮喷水| 成人黄色av免费看| 另类视频网站在线观看| 欧美日韩亚洲一区二区搜索| 亚洲一区二区中文字幕av| 漂亮人妻少妇中文字幕| 国产精品毛片一区二区三| 亚洲成在人线免费观看|