How to embed an Internet Request Code and get results that are implemented within one OnClickListener
===

I am creating an Online Dictionary Android App.
I am using JSON to request for definitions for a word which the user inputs.
This input is into the variable "text" everytime the search button is clicked.
The Inputted word is then appended into the API request URL which returns the definition......which is stored in variable "result" in the bottom method OnPost Execute() 
My TextView should then be set to this String.

I Therefore put the entire JSON and HTTPrequest code within the onClickLIstener because the user input always changes and requests everytime, but im getting an error at the "throws ClientProtocolException" after the "public JSONObject lastTweet(String word)" the error is "Syntax error on tokens, delete these tokens" I am Using Enclipse Indigo.
Here Is my Code.

    public class Dictionary extends Activity {
	String finalresult;
	HttpClient client = new DefaultHttpClient();
	TextView ansa;
	JSONObject json;
	Button Search;
	EditText input;	
	String text;
	final static String URL = "http://api.wordnik.com/v4/word.json/";        
	final static String URL2 = "/definitions?api_key=<MY API KEY>";	
	String fresult;
	Dictionary dic = new Dictionary();
	
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.dictionary);
		ansa = (TextView) findViewById(R.id.ansa);
		input = (EditText) findViewById(R.id.input);
		Search = (Button) findViewById(R.id.search);
		
     Search.setOnClickListener(new View.OnClickListener() {
    	 
			
			public void onClick(View v) {
				// TODO Auto-generated method stub
				text = input.getText().toString();
				
				public JSONObject lastTweet(String word) 
			    		throws ClientProtocolException, IOException, JSONException{
			    	
			        new Read().execute("text");   
			        StringBuffer strBuff = new StringBuffer();
			 	     strBuff.append(URL);
			         strBuff.append(word);
			         strBuff.append(URL2);
			    	
			    	
			    	HttpGet get = new HttpGet(strBuff.toString());
			    	HttpResponse r = client.execute(get);
			    	int status = r.getStatusLine().getStatusCode();
			    	if (status == 200){
			    		HttpEntity e = r.getEntity();
			    		String data = EntityUtils.toString(e);
			    		JSONArray timeline = new JSONArray(data);
			    		JSONObject last = timeline.getJSONObject(0);
			    		return last;
			    		
			    	}else{
			    		Toast.makeText(Dictionary.this, "error", Toast.LENGTH_LONG);
			    		return null;
			    		
			    	}
			    	
			    }
				
			    
			    class Read extends AsyncTask<String, Integer, String>{

					@Override
					public String doInBackground(String... params) {
						// TODO Auto-generated method stub
						try {
							json = lastTweet(text);
							return json.getString(params[0]);
						} catch (ClientProtocolException e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						} catch (IOException e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						} catch (JSONException e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						}
						return null;
					}

					@Override
					protected void onPostExecute(String result) {
						fresult = result;
						// TODO Auto-generated method stub
									}
			    }
			    	ansa.setText(fresult);
			    }
			
		});
     
     }	
	
	public JSONObject lastTweet(String word) 
    		throws ClientProtocolException, IOException, JSONException{
    	
        new Read().execute("text");   
        StringBuffer strBuff = new StringBuffer();
 	     strBuff.append(URL);
         strBuff.append(word);
         strBuff.append(URL2);
    	
    	
    	HttpGet get = new HttpGet(strBuff.toString());
    	HttpResponse r = client.execute(get);
    	int status = r.getStatusLine().getStatusCode();
    	if (status == 200){
    		HttpEntity e = r.getEntity();
    		String data = EntityUtils.toString(e);
    		JSONArray timeline = new JSONArray(data);
    		JSONObject last = timeline.getJSONObject(0);
    		return last;
    		
    	}else{
    		Toast.makeText(Dictionary.this, "error", Toast.LENGTH_LONG);
    		return null;
    		
    	}
    	
    }
	
    
    class Read extends AsyncTask<String, Integer, String>{

		@Override
		public String doInBackground(String... params) {
			// TODO Auto-generated method stub
			try {
				json = lastTweet(text);
				return json.getString(params[0]);
			} catch (ClientProtocolException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (JSONException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			return null;
		}

		@Override
		protected void onPostExecute(String result) {
			fresult = result;
			// TODO Auto-generated method stub
						}
    }
    

}
Any Suggestions?

