Android - Rechtschreibprüfung Tutorial

Die Android-Plattform bietet eine Rechtschreibprüfung Rahmenbedingungen, die Sie implementieren und Zugriffsrechtschreibprüfung in der Anwendung ermöglicht.
Um die Rechtschreibprüfung zu verwenden, müssen Sie implementierenSpellCheckerSessionListener Schnittstelle und überschreiben ihre Methoden.Die Syntax ist wie folgt:
public class HelloSpellCheckerActivity extends Activity implements SpellCheckerSessionListener {
   @Override
   public void onGetSuggestions(final SuggestionsInfo[] arg0) {
      // TODO Auto-generated method stub
   }
   
   @Override
   public void onGetSentenceSuggestions(SentenceSuggestionsInfo[] arg0) {
      // TODO Auto-generated method stub
   }
}
Das nächste, was Sie tun müssen, ist, um ein Objekt zu erstellen vonSpellCheckerSession Klasse. Dieses Ziel kann durch den Aufruf instanziiert werden newSpellCheckerSession Methode TextServicesManager Klasse.Diese Klasse verarbeitet Interaktion zwischen Anwendung und Textdienste. Sie müssen sich Systemdienst anzufordern, um es zu instanziieren. Die Syntax ist unten angegeben -
private SpellCheckerSession mScs;
final TextServicesManager tsm = (TextServicesManager) getSystemService(
Context.TEXT_SERVICES_MANAGER_SERVICE);
mScs = tsm.newSpellCheckerSession(null, null, this, true);   
Das letzte, was Sie tun müssen, ist anrufen getSuggestions Methode, um einen Vorschlag für einen beliebigen Text zu bekommen, Sie wollen. Die Vorschläge werden auf die übergeben werden onGetSuggestions Verfahren, von wo aus Sie tun können, was Sie wollen.
mScs.getSuggestions(new TextInfo(editText1.getText().toString()), 3);
Diese Methode hat zwei Parameter. Erste Parameter ist der String in Form von Text-Info-Objekt, und zweite Parameter ist die Cookie-Nummer verwendet werden, um Vorschläge zu unterscheiden.
Neben den Methoden, gibt es andere von der zur Verfügung gestellten VerfahrenSpellCheckerSession Klasse zur besseren Handhabung Vorschläge. Diese Verfahren sind nachfolgend aufgeführt:
Sr.NoVerfahren & Beschreibung
1absagen()
Abbrechen anstehenden und laufenden Rechtschreibprüfung Aufgaben
2nah dran()
Beenden diese Sitzung und lassen TextServicesManagerService, um die Rechtschreibprüfung gebunden trennen
3getSentenceSuggestions (Textinfo [] textInfos, int suggestionsLimit)
Holen Sie sich Anregungen von den angegebenen Sätzen
4getSpellChecker ()
Holen Sie sich die Rechtschreibprüfung Dienst Info Diese Rechtschreibprüfung Session hat.
5isSessionDisconnected ()
True, wenn die Verbindung zu einem Textservice dieser Sitzung getrennt und nicht mehr am Leben.

Beispiel

Hier ist ein Beispiel demonstriert die Verwendung von Rechtschreibprüfung. Es schafft eine grundlegende Rechtschreibprüfung Anwendung, die Sie zur Eingabe von Text und erhalten Vorschläge ermöglicht.
Um bei diesem Beispiel zu experimentieren, können Sie dies auf einem Gerät oder einem Emulator laufen.
SchritteBezeichnung
1Sie werden Android-Studio verwenden, um ein Android-Anwendung unter einem Paket com.example.sairamkrishna.myapplication erstellen.Bei der Erstellung dieses Projekt, stellen Sie sicher SDK Ziel und Kompilieren Sie mit der neuesten Version des Android SDK zu höheren Ebenen der APIs verwenden.
2Ändern src / MainActivity.java Datei an erforderlichen Code hinzuzufügen.
3Ändern Sie die res / layout / Haupt zu entsprechenden XML-Komponenten hinzufügen
4Führen Sie die Anwendung und wählen Sie einen Lauf Android-Gerät und installieren Sie die Anwendung und überprüfen Sie die Ergebnisse
Im Folgenden ist der Gehalt des modifizierten Haupttätigkeit Datei src /MainActivity.java.
package com.example.sairamkrishna.myapplication;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;

import android.os.Bundle;
import android.os.Handler;

import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.textservice.TextInfo;
import android.view.textservice.TextServicesManager;

import android.widget.Button;
import android.widget.EditText;

import android.view.textservice.SentenceSuggestionsInfo;
import android.view.textservice.SpellCheckerSession;
import android.view.textservice.SpellCheckerSession.SpellCheckerSessionListener;
import android.view.textservice.SuggestionsInfo;

import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity implements SpellCheckerSessionListener  {
   Button b1;
   TextView tv1;
   EditText ed1;
   private SpellCheckerSession mScs;
   
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      
      b1=(Button)findViewById(R.id.button);
      tv1=(TextView)findViewById(R.id.textView3);
      
      ed1=(EditText)findViewById(R.id.editText);
      b1.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            Toast.makeText(getApplicationContext(), ed1.getText().toString(),Toast.LENGTH_SHORT).show();
            mScs.getSuggestions(new TextInfo(ed1.getText().toString()), 3);
         }
      });
   }
   
   public void onResume() {
      super.onResume();
      final TextServicesManager tsm = (TextServicesManager) getSystemService(Context.TEXT_SERVICES_MANAGER_SERVICE);
      mScs = tsm.newSpellCheckerSession(null, null, this, true);
   }
   
   public void onPause() {
      super.onPause();
      if (mScs != null) {
         mScs.close();
      }
   }
   
   public void onGetSuggestions(final SuggestionsInfo[] arg0) {
      final StringBuilder sb = new StringBuilder();
      
      for (int i = 0; i < arg0.length; ++i) {
         // Returned suggestions are contained in SuggestionsInfo
         final int len = arg0[i].getSuggestionsCount();
         sb.append('\n');
         
         for (int j = 0; j < len; ++j) {
            sb.append("," + arg0[i].getSuggestionAt(j));
         }
         
         sb.append(" (" + len + ")");
      }
      runOnUiThread(new Runnable() {
         public void run() {
            tv1.append(sb.toString());
         }
      });
   }
   
   @Override
   public void onGetSentenceSuggestions(SentenceSuggestionsInfo[] arg0) {
      // TODO Auto-generated method stub
   }
   
   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.menu_main, menu);
      return true;
   }
   
   @Override
   public boolean onOptionsItemSelected(MenuItem item) {
      // Handle action bar item clicks here. The action bar will
      // automatically handle clicks on the Home/Up button, so long
      // as you specify a parent activity in AndroidManifest.xml.
      
      int id = item.getItemId();
      
      //noinspection SimplifiableIfStatement
      if (id == R.id.action_settings) {
         return true;
      }
      return super.onOptionsItemSelected(item);
   }
}
Im Anschluss wird der modifizierte Inhalt der XML-res / layout / main.xml.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
   android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
   
   <TextView android:text="Spell checker " android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/textview"
      android:textSize="35dp"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true" />
      
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Tutorials point"
      android:id="@+id/textView"
      android:layout_below="@+id/textview"
      android:layout_centerHorizontal="true"
      android:textColor="#ff7aff24"
      android:textSize="35dp" />
      
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Suggestions"
      android:id="@+id/button"
      android:layout_alignParentBottom="true"
      android:layout_centerHorizontal="true" />
      
   <EditText
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/editText"
      android:hint="Enter Text"
      android:layout_above="@+id/button"
      android:layout_marginBottom="56dp"
      android:focusable="true"
      android:textColorHighlight="#ff7eff15"
      android:textColorHint="#ffff25e6"
      android:layout_alignRight="@+id/textview"
      android:layout_alignEnd="@+id/textview"
      android:layout_alignLeft="@+id/textview"
      android:layout_alignStart="@+id/textview" />
      
   <ImageView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageView"
      android:src="@drawable/abc"
      android:layout_below="@+id/textView"
      android:layout_centerHorizontal="true" />
      
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Suggestions"
      android:id="@+id/textView3"
      android:textSize="25sp"
      android:layout_below="@+id/imageView" />

</RelativeLayout>
Hier finden Sie den Inhalt der res / Werte / string.xml.
<resources>
   <string name="app_name">My Application</string>
   <string name="hello_world">Hello world!</string>
   <string name="action_settings">Settings</string>
</resources>
Im Anschluss ist der Inhalt der AndroidManifest.xml Datei.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.sairamkrishna.myapplication" >
   
   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name=".MainActivity"
         android:label="@string/app_name" >
         
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
         
      </activity>
      
   </application>
</manifest>
Lasst uns versuchen, ourr Anwendung, die wir gerade geändert laufen. Ich nehme an, Sie geschaffen hatte AVD dabei Umgebungskonfiguration. Um die App vom Android-Studio, öffnen Sie eine der Aktivität Dateien Ihres Projekt auszuführen, und klicken Sie auf Eclipse-Run IconAusführen-Symbol in der Symbolleiste.Android-Studio installiert die App auf Ihrem AVD und startet es und wenn alles in Ordnung ist mit der Einrichtung und Anwendung, wird es folgende Emulator-Fenster anzuzeigen -
Nun, was Sie tun müssen, ist, einen beliebigen Text in das Feld eingeben. Zum Beispiel habe ich einige Text eingegeben. Drücken Sie die Vorschläge Taste. Die folgende Mitteilung scheint, in die Sie zusammen mit Vorschlägen AVD -
Android Spell Checker Tutorial
Nun ändern Sie den Text und drücken Sie die Taste noch einmal, wie ich es tat.Und das ist, was auf dem Bildschirm kommt.
Android Spell Checker Tutorial

Share on Google Plus

About ptjqatar

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.

0 التعليقات:

Kommentar veröffentlichen