Especificação técnica

Descrição minuciosa das características da tecnologia, pormenorização com detalhes técnicos e precisos que esclareçam a destinação, ou uso ou operação. Incluir definições, concepções ou caracterizações

API é um acrônimo de Application Programming Interface, Interface de Programação de Aplicação, traduzindo ao português. Ela é composta de informações que podem ser utilizadas para extrair dados de um certo local e transportá-los para outro local, definindo comportamentos específicos de determinados objetos em uma interface para outras aplicações, para isso é necessário integrar com um software entrando com chave de acesso para ser permitido o fluxo de dados.


Código fonte de exemplo

    <meta-data         android:name="com.google.android.geo.API_KEY"         android:value="BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75"/>

<syntaxhighlight lang="python3"> Arquivo = "lista_contatos.txt" # Nome do arquivo

def ler_arquivo(): # Função que le o arquivo de texto

   try:                         # Tratamento de erro
       arq = open(Arquivo,"r+") # Abre o arquivo para leitura
       print( '\n'+arq.read() ) # Quebra linha e mostra o conteudo
       arq.close()              # Fecha o arquivo
   except IOError:              # Tratamento de erro
       print('\nArquivo não encontrado!')

def escrever_linhas(texto): # Função que le e escreve no arquivo

   try:                           # Tratamento de erro
       arq = open(Arquivo,"a+")   # Abre o arquivo para gravação no final do arquivo
       arq.writelines('\n'+texto) # Escreve no arquivo o parametro 'texto'
       arq.close()                # Fecha o arquivo
       print('\nLinha gravada com sucesso')
   except IOError:                # Tratamento de erro
       print('\nErro ao abrir o arquivo!') # Mostra na tela uma mensagem de erro

def pesquisar_contato(nome):

   try:
       arq = open(Arquivo, "r+")
       dicionario = {'nome':, 'telefone':, 'email':}
       achei = False
       # lógica ler arquivo e comparar nome
       for cont, s in enumerate(arq.readlines()):
           
           dicionario['nome'], dicionario['telefone'],dicionario['email'] = s.split(' - ')
           if dicionario['nome'] == nome:
               print(cont)
               print('Nome: %s'% dicionario['nome'])
               print('Telefone: %s'% dicionario['telefone'])
               print('Email: %s'% dicionario['email'])
               achei = True
               
       if not achei:
           print('Não existe %s' % (nome))


       # se achou imprime, se não mostra uma mensagem de nao encontrado
       arq.close
       
   except IOError:
       print('\nContato não encontrado')


def excluir_contatos():

   try:
       arq =open('lista_contatos.txt','r+')
       valores = arq.readlines()
       l = []
       splited =[]
       nome = input('Entre com um nome:')
       for x in valores:
           splited=x.split(' - ')
           if splited[0]==nome:
              pass
           else:
               l.append(splited)
       
       arq.close()
       novo_cadastro(l)
   except:
       print('erro')

def novo_cadastro(l):

   arq = open(Arquivo,'w')
   for x in l:
        #print("Nome:%s | Telefone:%s | Email:%s"%(x[0],x[1],x[2]))
        arq.write("%s - %s - %s" %(x[0],x[1],x[2]))
   arq.close()

while(True):

   print('\n        Opcões:')
   print(' ')
   print('1 - Cadastrar contato')
   print('2 - Listar dados')
   print('3 - Pesquisar contato')
   print('4 - Excluir contato')
   print('9 - Sair')
   print(' ')
   Op = int(input('Digite a opção desejada:')) # Entrada da opcao pelo teclado
   if Op == 1:                                     # Se a opcao for 1
       nome = input('\nDigite o nome do contato:')      # Entrada do nome pelo teclado
       fone = input('Digite o número do telefone:')# Entrada do telefone pelo teclado
       email = input('Digite o email:')            # Entrada do telefone pelo teclado
       contato = (nome+' - '+fone+' - '+email)     # Recebe o nome + o telefone
       escrever_linhas(str(contato))               # Chama a função que grava em arquivo
   elif Op == 2:                                   # Se a opcao for 2
       ler_arquivo()                               # Chama a função que le o arquivo
   elif Op == 9:                                   # Se a opcao for 0
       break                                       # Quebra o laço infinito
   elif Op == 3:
       nome = input("Digite o nome: ")
       pesquisar_contato(nome)
   elif Op == 4:
       #nome = input ("Digite o nome: ")
       excluir_contatos()

</syntaxhighlight>

Funcionamento

Descrever a forma como a tecnologia funciona descendo nos detalhes de interfaceamento, conexões físicas, sinalização, tráfego de dados ou controle



Software

Explicar basicamente onde o software é utilizado nesta tecnologia informando possíveis linguagens e outras ferramentas como framqworks, banco de dados, etc. Se possível informar link de download ou referência.


Topologia ou Esquema funcional

Desenhar ou plotar  representações visuais estruturadas por meio de diagramas, esquemas, protocolos que exemplfoquem esse tema, logicamente colocando um rodapé explicativo


Conexões

Incluir links (internos ou externos) temas que tem relação com este, explicando detalhes sobre. Limite de 3 internos e 2 externos.


Informações adicionais

Descrever detalhes a mais sobre esse tema.


Referências bibiográficas

Relacionar aqui as referências bibliográficas no padrão ABNT. 
Bases de procura: Artigos, publicações acadêmicas, revistas e sites de fornecedores