2013-03-29 62 views
0

經過幾天的研究和衆多的編譯器錯誤......我想我需要社區的一些幫助。從extras中提取子串並追加到另一個變量

我有一個簡單的應用程序,通過從另一個應用程序的共享意圖檢索網址。 我想從intent的strictgextra(這是一個url)中提取一個值,並將其添加到我的腳本url的末尾,並將最終字符串作爲URL發送到URLconnection httpget請求。

我已經將腳本的url定義爲一個變量。 我已經知道了它的意圖和附加信息,並將其放入一個變量中。 我試圖只是concat我的url變量和strictgextra變量無濟於事, URLconnectio給了我一個MalformedURLException。我記錄了concat'd變量 ,它看起來完全像我想要的,但由於某種原因,它不會經過。

所以現在,我試圖把我需要的部分剪掉,放在我的腳本的url上,然後關閉那個新形成的字符串的http get請求。 SO .... 如何提取「v =」後面的11個字符,這是在stringextra中,即 一個名爲sharedText的變量?

String goLoQooUrl = "http://my.domain.my/script.php?link="; 


    private static final String TAG = "LTV"; 


@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    Intent rIntent = getIntent(); 
    String rAction = rIntent.getAction(); 
    String rType = rIntent.getType(); 
    if (Intent.ACTION_SEND.equals(rAction) && "text/plain".equals(rType)) 
    displaySentText(rIntent); 

    } 

private void displaySentText (Intent rIntent) { 
    String sharedText = rIntent.getStringExtra(Intent.EXTRA_TEXT); 
    if (sharedText == null) return; 
    if (sharedText.startsWith("http://")) { 
    TextView url = (TextView) findViewById(R.id.URL); 
    url.setText(String.valueOf(sharedText)); 

    ****String w = goLoQooUrl+SUBSTRING***** this is what I want 
    Log.d("TAG", w); 

    }; 
    playOnLoqooTv(w); 
    } 

private void playOnLoqooTv (String w) { 
    try { 
      StrictMode.ThreadPolicy policy = new 
      StrictMode.ThreadPolicy.Builder().permitAll().build(); 
      StrictMode.setThreadPolicy(policy); 
      URL url = new URL(w); 

我試過很多東西都無濟於事 使用子方法,即嘗試,它給了我一個錯誤有關方法 不可用,我可能沒有調用它是正確的。

任何宇宙大師的作品,都可以點亮嗎?

+0

你嘗試過的命令拆分? –

回答

1

嘗試了這一點: -

int indexOfv = sharedText.indexOf("="); // Get the index of = 
indexOfv++; // To get the substring after this element. 
String subString = sharedText.substring(indexOfv, indexOfv+11); //Get the 11 characters after the = sign. 
+0

thX!這樣做,但它也帶有=符號,所以我脯氨酸必須做的+10或+12 – sirvon

+1

是否有2'等於'符號呢?如果不是,那麼'='符號不會來。 'indexOfv ++;'專門用來跳過它。你可以在'sharedText'中顯示全文嗎? – SudoRahul

+0

有時可能會有兩個或三個等號,具體取決於包含在strictgextras中的網址......有時它會是這個「//http://www.youtube.com/watch?v=d22AslL0ZdY//」和有時候會是這樣的「//www.youtube.com/watch?v=etmzOOtNCIk&list=RD023pyuFfKPCvY//」 – sirvon

相關問題