嘗試模擬觸發(fā)input的keyup/keypress這類事件
在H5中是通過schema喚起的,如果在微信中就無法通過schema喚起
是我 root 后的影響。我剛剛試了`adb shell getprop | grep abi,顯示權(quán)限被拒絕。
隨后我嘗試了其他命令,發(fā)現(xiàn) adb 是沒有根目錄的文件權(quán)限。
隨后我在 SuperSU 內(nèi)進行了去除 Root 權(quán)限。在手機重啟后,root 權(quán)限消失,adb 重新變得可用。
android studio 又重新識別了我的手機
你沒有寫入文件的目錄的權(quán)限。檢查下上傳文件保存的位置
使用rxjava吧
線程操作比較方便
package com.github.rxjavatest
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.support.v7.widget.GridLayoutManager
import android.support.v7.widget.RecyclerView
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import com.bumptech.glide.Glide
import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.functions.BiFunction
class MainActivity : AppCompatActivity() {
lateinit var recyclerView: RecyclerView
val list = arrayListOf<String>()
val adapter = ImageAdapter(list)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
recyclerView = findViewById(R.id.recyclerView)
recyclerView.layoutManager = GridLayoutManager(this, 3)
recyclerView.adapter = adapter
initImage()
}
private fun initImage() {
val imageGetter = ImageGetter("http://588ku.com/beijing/0-0-pxnum-4-8-0-0-0-1/")
val imgOb = imageGetter.getImageObserable()
val imageGetter2 = ImageGetter("http://588ku.com/beijing/0-0-pxnum-4-8-0-0-0-2/")
val imgOb2 = imageGetter2.getImageObserable()
Observable.zip(imgOb, imgOb2, BiFunction<List<String>, List<String>, List<String>> { t1, t2 ->
val list = arrayListOf<String>()
list.addAll(t1)
list.addAll(t2)
list
}).observeOn(AndroidSchedulers.mainThread())
.subscribe {
list.addAll(it)
adapter.notifyDataSetChanged()
}
}
}
class ImageAdapter(val list: List<String>) : RecyclerView.Adapter<VH>() {
override fun onBindViewHolder(holder: VH?, position: Int) {
holder?.apply {
val src = list[position]
Glide
.with(itemView)
.load(src)
.into(img)
}
}
override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): VH {
val view = LayoutInflater.from(parent?.context)?.inflate(R.layout.item_img, parent, false)
return VH(view)
}
override fun getItemCount(): Int {
return list.size
}
}
class VH(itemView: View?) : RecyclerView.ViewHolder(itemView) {
val img: ImageView by lazy { itemView!!.findViewById<ImageView>(R.id.iv_image) }
}
package com.github.rxjavatest
import android.annotation.SuppressLint
import android.util.Log
import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.schedulers.Schedulers
import org.jsoup.Jsoup
import org.jsoup.nodes.Document
import java.util.concurrent.Executors
/**
* Created by cai on 2018/2/12.
*/
class ImageGetter(var url: String) {
fun getImageObserable(): Observable<ArrayList<String>> {
return Observable
.create<Document> {
val doc = Jsoup.connect(url)
.get()
it.onNext(doc)
it.onComplete()
}
.subscribeOn(Schedulers.io())
.map {
it.select("div a img")
}
.map {
val list = arrayListOf<String>()
it.forEach {
val image = it.attr("data-original")
list.add(image)
}
list
}
.observeOn(AndroidSchedulers.mainThread())
}
@SuppressLint("SetJavaScriptEnabled")
companion object {
}
}
val Any.TAG
get() = this.javaClass.simpleName
fun Any.logger(msg: Any?) {
Log.i(TAG, msg.toString())
}
簡單寫了個demo
項目地址
這里用JSoup爬數(shù)據(jù)
然后Rxjava返回數(shù)據(jù)流處理結(jié)果的img src的集合的Observable
在實際Activity中同時獲得兩個Observable,使用zip操作符組合,然后在主線程中將圖片添加到list
刷新adapter
使用Glide加載圖片
創(chuàng)建Application
復(fù)用導(dǎo)致的吧,你應(yīng)該是放了一張默認(rèn)圖片吧?你寫死圖片寬高試試
hsjskskskkskdnbxnndnnx
這里改一下試試。
ok 已經(jīng)解決了
onLoadStart里面不能setstate否則會卡死!
H5頁面跳轉(zhuǎn)app后面可追加參數(shù),然后app端根據(jù)參數(shù)跳轉(zhuǎn)不同路由!首先H5頁面跳轉(zhuǎn)app有一定的兼容性,就比如在微信中就是無法直接跳轉(zhuǎn)的!
android studio的run標(biāo)簽中可能會有一些提示
或者到Logcat的filter中設(shè)置no filters
設(shè)置logcat的日志級別為waring級別 ,一般會看到一些日志提示
沒引入X86的SO庫吧
表單請求的時候,HTTP中的Content-Type屬性標(biāo)記了Body的內(nèi)容
Content-Type:application/x-www-form-urlencoded 代表表單
Content-Type: application/json 代表JSON數(shù)據(jù)
還有如multipart/form-data用于上傳包含文件的內(nèi)容,application/xml則是XML文件
至于編碼方面,也會有些許的差異??梢詤⒖?a rel="nofollow noreferrer">這篇文章
我覺得吧,電腦跑我都嫌慢沒用。其次,手機除了不方便以外,很多運行時所使用的內(nèi)存機制都容易使其溢出。其他原因樓下大佬有補充嗎。
1) 只需要第一個就可以了.(上面文字有介紹,第二個的東西已經(jīng)包含在第一個里面了)
2) 接下來直接安裝就行了. 更多具體情況,你還是自己看文檔了.這種三言兩語也說不清.
如果身邊有熟悉的人,直接找身邊的人指導(dǎo)比較好.
解決了,是table每行長度不一樣引起的
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport" />
我用flexible開發(fā)的是微信端的,這個沒問題,不知你用的是app還是瀏覽器
你可以用alarmmanager+pendingintend來實現(xiàn)該功能,當(dāng)定時結(jié)束時發(fā)送一個廣播。或者你可以在你的后臺播放服務(wù)中自己開啟一個線程,來代替alarmmanager
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。