明白網(wǎng)盤存儲(chǔ)原理。并不是給你開辟你的私有盤,所有人的數(shù)據(jù)都存在一個(gè)盤里。大家都對(duì)這個(gè)盤可以讀寫。為了區(qū)分東西都是誰的。在表結(jié)構(gòu)中有文件(id)和所屬人+(共享人)這三個(gè)字段。當(dāng)我把文件共享給你的時(shí)候。就是把文件(id)+所屬人+(共享人,你)這個(gè)條數(shù)據(jù)修改一下。你可以選擇保存到你本地,那就是文件復(fù)制,新的文件id+所屬人(你)。
成都創(chuàng)新互聯(lián)主營(yíng)彝良網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都App定制開發(fā),彝良h5重慶小程序開發(fā)公司搭建,彝良網(wǎng)站營(yíng)銷推廣歡迎彝良等地區(qū)企業(yè)咨詢
提了一個(gè)需求叫我調(diào)研一下,他已經(jīng)測(cè)試了IOS平臺(tái)上是可以的,需求很簡(jiǎn)單就是在系統(tǒng)瀏覽器中通過輸入一個(gè)uri就可以打開相應(yīng)的app。
比如你在IOS中的系統(tǒng)瀏覽器中輸入:tel://123,就會(huì)跳到撥打電話頁面而且撥打號(hào)碼是123,像這樣的命令,老大他用了小米手機(jī)測(cè)試了一下,發(fā)現(xiàn)可以的,所以他就以為Android的也是可以的,但是當(dāng)我用三星和htc手機(jī)測(cè)試發(fā)現(xiàn)不行,這時(shí)候老大就糾結(jié)了,但是我個(gè)人認(rèn)為,我們都知道小米手機(jī)是模仿IOS的,沒想到模仿的這么想。所以老大就叫我去調(diào)研,我查閱了資料之后,找到了解決辦法如下
先上一份代碼,經(jīng)樓主驗(yàn)證是絕對(duì)可以用的而且也比較清晰的代碼!(ps:還是先劇透下吧,第三方大部分瀏覽器無法成功。)
點(diǎn)擊瀏覽器中的URL鏈接,啟動(dòng)特定的App。
首先做成HTML的頁面,頁面內(nèi)容格式如下:
a href="[scheme]://[host]/[path]?[query]"啟動(dòng)應(yīng)用程序/a
這一句就可以了。
各個(gè)項(xiàng)目含義如下所示:
scheme:判別啟動(dòng)的App。 ※詳細(xì)后述
host:適當(dāng)記述
path:傳值時(shí)必須的key ※沒有也可以
query:獲取值的Key和Value ※沒有也可以
作為測(cè)試好好寫了一下,如下:
a href="myapp://jp.app/openwith?name=zhangsanage=26"啟動(dòng)應(yīng)用程序/a
接下來是Android端。
首先在AndroidManifest.xml的MAIN Activity下追加以下內(nèi)容。(啟動(dòng)Activity時(shí)給予)
※必須添加項(xiàng)
intent-filter
action android:name="android.intent.action.VIEW"/
category android:name="android.intent.category.DEFAULT" /
category android:name="android.intent.category.BROWSABLE" /
data android:scheme="myapp" android:host="jp.app" android:pathPrefix="/openwith"/
/intent-filter
HTML記述的內(nèi)容加入data …/。
其中必須的內(nèi)容僅scheme,沒有其他內(nèi)容app也能啟動(dòng)。
※注意事項(xiàng):intent-filter的內(nèi)容【android.intent.action.MAIN】和 【android.intent.category.LAUNCHER】這2個(gè),不能與這次追加的內(nèi)容混合。
所以,如果加入了同一個(gè)Activity,請(qǐng)按以下這樣做,否則會(huì)導(dǎo)致應(yīng)用圖標(biāo)在桌面消失等問題。
intent-filter
action android:name="android.intent.action.MAIN"/
category android:name="android.intent.category.LAUNCHER" /
/intent-filter
intent-filter
action android:name="android.intent.action.VIEW"/
category android:name="android.intent.category.DEFAULT" /
category android:name="android.intent.category.BROWSABLE" /
data android:scheme="myapp" android:host="jp.app" android:pathPrefix="/openwith"/
/intent-filter
這樣的話,沒有問題。
接下來在Activity中需要取值的地方添加以下代碼,我是直接寫在OnCreate函數(shù)里的:
Intent i_getvalue = getIntent();
String action = i_getvalue.getAction();
if(Intent.ACTION_VIEW.equals(action)){
Uri uri = i_getvalue.getData();
if(uri != null){
String name = uri.getQueryParameter("name");
String age= uri.getQueryParameter("age");
}
}
這樣就能獲取到URL傳遞過來的值了。
——————————————————————————————————我是分割線————————————————————————————————————
代碼copy完了,是不是很驚奇的發(fā)現(xiàn)用瀏覽器輸入
myapp://jp.app/openwith?name=zhangsanage=26
是不是404,打不開?
樓主你這不是騙人么!樓主你個(gè)混蛋啊。
客官,稍安勿躁啊,你看看你用的瀏覽器是什么?UC,獵豹,歐朋?放棄吧,試試系統(tǒng)自帶瀏覽器或者谷歌瀏覽器吧??隙艹晒Φ?,不能成功的話再來坑我。哈哈。
——————————————————————————————————我是分割線————————————————————————————————————
突然覺得好悲哀,好不容易get了這個(gè)技能,卻不能被第三方瀏覽器使用。在這個(gè)android瀏覽器大部分被第三方占據(jù)著的時(shí)代不得不說是個(gè)悲劇啊。
接下來還是說說為什么第三方瀏覽器不能成功吧。首先,我發(fā)現(xiàn)的是UC瀏覽器,如果你使用了自己的scheme,而不是http的話,uc會(huì)默認(rèn)在你的scheme前面添加http://。這太坑爹了。其他瀏覽器沒看是不是同樣的情況。發(fā)現(xiàn)這個(gè)問題后我就試著把自己的scheme換成http。然后滿懷期待的又跑了一遍,結(jié)果還是坑爹了。所以我想會(huì)不會(huì)是第三方瀏覽器對(duì)url做了處理。到這里,我也無可奈何了。我測(cè)試了UC,獵豹,歐朋,這3個(gè)都不支持。系統(tǒng)自帶的和谷歌瀏覽器是支持的。
最后再補(bǔ)充個(gè)線索吧,在瀏覽器里搜索百度應(yīng)用。進(jìn)了他們的頁面后,他們是可以實(shí)現(xiàn)在各種瀏覽器啟動(dòng)已經(jīng)安裝好的本地app的??吹竭@個(gè)后我就看了下他們頁面的源碼。
在這里他們頁面添加了個(gè)data-sentintent的標(biāo)簽,看到這里,應(yīng)該能確定第三方瀏覽器應(yīng)該是默認(rèn)都不支持發(fā)intent的,只能自己起一個(gè)。根據(jù)前端說,這個(gè)標(biāo)簽應(yīng)該是自定義的。我們前端看源碼的時(shí)候發(fā)現(xiàn)是這樣的
所以最后的結(jié)果應(yīng)該是百度這邊是起了個(gè)端口,然后在應(yīng)用里啟用了一個(gè)服務(wù),來監(jiān)聽這個(gè)端口,來獲取這個(gè)intent。大概就這個(gè)思路了。不過樓主沒有實(shí)際去操作。項(xiàng)目時(shí)間緊,太麻煩了。對(duì)了,百度這個(gè)是有集成他們inapp這個(gè)sdk的。
再附上stackoverflow兩個(gè)相關(guān)鏈接:
基于java EE的網(wǎng)絡(luò)云盤系統(tǒng)
云盤:
主要是對(duì)注冊(cè)客戶進(jìn)行資料存儲(chǔ)、管理
(上傳、下載、查詢、分類、刪除、移動(dòng)等)
最終用戶
1)注冊(cè)用戶
注冊(cè)、登錄、上傳文檔、系統(tǒng)對(duì)資料進(jìn)行分類(視頻、音頻(在線播放)、圖片瀏覽)
目錄操作、文件管理(刪除、改名)、查詢文件、分享
2)管理員
注冊(cè)用戶管理:?jiǎn)⒂?、禁用賬戶
文件管理:刪除、
3)未登錄賬號(hào)
搜索云盤所有共享文件,并可以下載
3.創(chuàng)新點(diǎn):
1)網(wǎng)頁版、客戶端、手機(jī)APP
完成網(wǎng)頁版功能
2)大文件處理
4.基本數(shù)據(jù)庫(初步)
文件保存在服務(wù)器端某個(gè)設(shè)定目錄中,設(shè)定目錄與用戶關(guān)聯(lián),文件的基本信息保存數(shù)據(jù)庫(文件名、路徑、大小、上次日期、Hashcode、文件類型......)
實(shí)體:
用戶表(類型分為管理員、用戶):用戶名、密碼、用戶類型
文件表:編號(hào)、文件名、保存路徑、大小、上傳日期、Hashcode、文件類型、【用戶ID】、文件狀態(tài)
用戶文件表:
編號(hào)、文件ID、用戶ID
共享信息表:
編號(hào)、文件ID、URL
如何完成?
1. 使用UML(用例圖)描述系統(tǒng)功能,每個(gè)用例圖詳細(xì)描述。(15-20頁)
2.詳細(xì)設(shè)計(jì)
數(shù)據(jù)庫設(shè)計(jì)
實(shí)體、實(shí)體關(guān)聯(lián)、E-R圖
數(shù)據(jù)庫物理設(shè)計(jì)
數(shù)據(jù)庫架構(gòu)設(shè)計(jì)
MVC框架
Model(BLL、DAL):實(shí)體類、DB工具類、Service層(功能:使用接口)
視圖原型:
HTML模板
3.代碼編程
當(dāng)前題目:java網(wǎng)盤系統(tǒng)代碼 java系統(tǒng)源碼
網(wǎng)頁地址:http://m.rwnh.cn/article16/doopogg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站建設(shè)、網(wǎng)站改版、App開發(fā)、電子商務(wù)、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容